HDU 5179 - beautiful number (DFS)
来源:互联网 发布:补水爽肤水推荐知乎 编辑:程序博客网 时间:2024/06/05 10:23
题意
求美丽数的数量。
思路
我能说我看了十分钟第一个公式吗( TДT),还以为是数学题。吓得我都飞起来了。
后来又想想数应该不是很多,搜索算了。
先获得left和right的位数,然后往上填数。因为数字不大,我就直接用int变量代替数组了。
我的有点类似DFSID,按照数字的位数搜。直接写DFS也可以。
代码
#include <stack>#include <cstdio>#include <list>#include <cassert>#include <set>#include <iostream>#include <string>#include <vector>#include <queue>#include <functional>#include <cstring>#include <algorithm>#include <cctype>#include <string>#include <map>#include <cmath>using namespace std;#define LL long long#define ULL unsigned long long#define SZ(x) (int)x.size()#define Lowbit(x) ((x) & (-x))#define MP(a, b) make_pair(a, b)#define MS(arr, num) memset(arr, num, sizeof(arr))#define PB push_back#define X first#define Y second#define ROP freopen("input.txt", "r", stdin);#define MID(a, b) (a + ((b - a) >> 1))#define LC rt << 1, l, mid#define RC rt << 1|1, mid + 1, r#define LRT rt << 1#define RRT rt << 1|1const double PI = acos(-1.0);const int INF = 0x3f3f3f3f;const double eps = 1e-8;const int MAXN = 1e5 + 10;const int MOD = 9901;const int dir[][2] = { {-1, 0}, {0, -1}, { 1, 0 }, { 0, 1 } };int cases = 0;typedef pair<int, int> pii;int arr[MAXN];int DFS(int curDep, LL num, int bitLimit, int limit){ int ans = 0; if (limit == 0) return 0; int tmp = num%10; //前一位 for (int i = 1; i <= 9; i++) { if (i <= tmp && tmp%i == 0 || curDep == 1) { num = num*10 + i; if (curDep < bitLimit) return DFS(curDep+1, num, bitLimit, limit); if (num > limit) continue; if (curDep == bitLimit) ans++; //达到指定的位数 num /= 10; //回溯 } } return ans;}int get_bit(int num){ int tmp = num, cnt = 0; while (tmp) { tmp /= 10; cnt++; } return cnt;}int main(){ //ROP; int T; scanf("%d", &T); while (T--) { int aans1 = 0, aans2 = 0; int l, r; scanf("%d%d", &l, &r); int a = get_bit(l), b = get_bit(r); for (int i = 1; i <= b; i++) aans1 += DFS(1, 0, i, r); for (int i = 1; i <= a; i++) aans2 += DFS(1, 0, i, l-1); printf("%d\n", aans1-aans2); } return 0;}
0 0
- HDU 5179 - beautiful number (DFS)
- hdu(5179):beautiful number
- hdu 5179-beautiful number
- hdu 5179 beautiful number (数位dp)
- HDU 5179 beautiful number 离线处理
- hdu 5179 beautiful number【数位dp】
- HDU 5179 beautiful number 数位DP(水)
- beautiful number(HDU 5179 数位DP)
- hdu 5179 beautiful number (数位DP)
- HDU 5062 Beautiful Palindrome Number
- HDOJ 5179 beautiful number
- 5179 beautiful number
- hdu 5179 beautiful number(打表,数位DP)
- (hdu 5179)beautiful number(数位DP)
- HDU 5062 Beautiful Palindrome Number(暴力)
- hdu 5062 Beautiful Palindrome Number(水题)
- HDU——5062 Beautiful Palindrome Number
- HDU 5062 Beautiful Palindrome Number(数学题)
- 总结
- PHP数组是否是引用类型?
- 黑马程序员—— 线程基础总结
- 本地存储
- 开源流媒体播放器EasyPlayer
- HDU 5179 - beautiful number (DFS)
- 斯坦福大学公开课cs106p - 01笔记
- 【Android】9PNG图片的制作和消除
- 【笔记1】关于联想g470更换intel5300网卡的问题
- Win7 Cookie位置
- AddressSanitizer使用记录
- 【node.js学习】--(4)--Express4.x框架
- unp.h的使用-Unix网络编程
- 使用远程yum源