2015年12月10日

codeforces 55D. Beautiful numbers 数位dp

摘要: 题目链接一个数, 他的所有位上的数都可以被这个数整除, 求出范围内满足条件的数的个数。dp[i][j][k], i表示第i位, j表示前几位的lcm是几, k表示这个数mod2520, 2520是1-9之间数的lcm。 然后这样数组就要开成20*2520*2520, 太大了, 所以我们将lcm离散,... 阅读全文

posted @ 2015-12-10 23:51 yohaha 阅读(157) 评论(0) 推荐(0) 编辑

ZOJ 3209 Treasure Map 精确覆盖

摘要: 题目链接精确覆盖的模板题, 把每一个格子当成一列就可以。S忘记初始化TLE N次, 哭晕在厕所...... 1 #include 2 using namespace std; 3 #define pb(x) push_back(x) 4 #define ll long long 5 #de... 阅读全文

posted @ 2015-12-10 19:56 yohaha 阅读(210) 评论(0) 推荐(0) 编辑

hdu 3709 Balanced Number 数位dp

摘要: 题目链接一个数称为平衡数, 只要他的某一位满足, 这一位左边的所有数sigma x*(x距离这一位的距离)等于右边的sigma x*(x距离这一位的距离), 例如4139, 3就满足这个性质, 因为4*2+1*1 == 9*1。求出一个范围内的平衡数的数量。看起来好麻烦, 不好想状态, 但是我们可以... 阅读全文

posted @ 2015-12-10 17:50 yohaha 阅读(136) 评论(0) 推荐(0) 编辑

hdu 3652 B-number 数位dp

摘要: 题目链接求出1-n中包含13并且能被13整除的数的个数开一个四维数组dp[i][j][k][l], i表示第i位, j表示这个数mod13, k表示是否包含13, l表示前一位是什么。 1 #include 2 using namespace std; 3 #define pb(x) push_ba... 阅读全文

posted @ 2015-12-10 16:09 yohaha 阅读(160) 评论(0) 推荐(0) 编辑

poj 3252 Round Numbers 数位dp

摘要: 题目链接找一个范围内二进制中0的个数大于等于1的个数的数的数量。基础的数位dp 1 #include 2 using namespace std; 3 #define mem1(a) memset(a, -1, sizeof(a)) 4 int digit[50], dp[50][50][50], ... 阅读全文

posted @ 2015-12-10 12:44 yohaha 阅读(148) 评论(0) 推荐(0) 编辑

UESTC 250 windy数 数位dp

摘要: 题目链接 1 #include 2 using namespace std; 3 #define mem1(a) memset(a, -1, sizeof(a)) 4 #define ll long long 5 int dp[20][20], digit[20], len; 6 ll dfs(in... 阅读全文

posted @ 2015-12-10 10:48 yohaha 阅读(144) 评论(0) 推荐(0) 编辑

hdu 3555 bomb 数位dp

摘要: 题目链接和上一题差不多, 可以用总数-不含49的个数。 1 #include 2 using namespace std; 3 #define mem1(a) memset(a, -1, sizeof(a)) 4 #define ll long long 5 ll dp[20][20], digit... 阅读全文

posted @ 2015-12-10 10:21 yohaha 阅读(148) 评论(0) 推荐(0) 编辑

hdu 2089 不要62 数位dp入门

摘要: 题目链接求出a-b中不含有4以及连续的62的数的个数。 1 #include 2 using namespace std; 3 #define mem1(a) memset(a, -1, sizeof(a)) 4 int dp[10][10], digit[9], len; 5 int dfs(in... 阅读全文

posted @ 2015-12-10 10:02 yohaha 阅读(172) 评论(0) 推荐(0) 编辑

导航