![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数位DP
文章平均质量分 74
BraketBN
这个作者很懒,什么都没留下…
展开
-
【SPOJ-KOPC12H】K12-OE Numbers【数位DP】
题意:定义OE数为:对于所有数位,使得偶数和大于奇数和的数。比如1233,奇数和 = 1 + 3 + 3 = 7,偶数和 = 2,奇数和 > 偶数和,不是OE数。设f[i][k]表示长度为i的数,偶数和减奇数和等于k的OE数的个数。对于当前位j,如果j为奇数,那么f[i][k] += f[i - 1][k + j]如果j为偶数,那么f[i][k] += f[i -原创 2016-02-25 10:48:34 · 829 阅读 · 0 评论 -
【BZOJ1183】[Croatian2008]Umnozak【数位DP】【质因数分解】【枚举】【记忆化搜索】
【题目链接】参考官方题解写的【官方题解下载地址】/* Pigonometry */#include #include #include using namespace std;typedef long long LL;int cnt[5];LL A, B, lb, ub, ans, dp[20][33][20][14][12], dec[20];int原创 2016-04-28 12:08:02 · 1059 阅读 · 0 评论 -
【BZOJ2713】[Violet 2]愚蠢的副官【数位DP】【质因数分解】【枚举】【记忆化搜索】
【题目链接】同【BZOJ1183的题解】/* Pigonometry */#include #include #include using namespace std;typedef long long LL;int cnt[5];LL A, B, lb, ub, ans, dp[20][33][20][14][12], dec[20];int fact[]原创 2016-04-28 12:10:20 · 646 阅读 · 0 评论 -
【HDU2089】不要62【数位DP】【记忆化搜索】
【题目链接】忘记写了个判断条件如果上一位为6,当前为也为6,那么状态还是1。/* Telekinetic Forest Guard */#include #include #include using namespace std;typedef long long LL;const int maxn = 20;int dig[maxn];LL dp[maxn原创 2016-05-01 10:42:26 · 487 阅读 · 0 评论 -
【HDU3555】Bomb【数位DP】【记忆化搜索】
【题目链接】赶紧学习一发数位DP。听说记忆化搜索的写法比较通用,那么就不用for循环了。/* Telekinetic Forest Guard */#include #include #include using namespace std;typedef long long LL;const int maxn = 20;int dig[maxn];LL dp[原创 2016-05-01 10:28:19 · 410 阅读 · 0 评论 -
【SPOJ-GONE】G-One Numbers【数位DP】【记忆化搜索】【质数筛】
【题目链接】题意:求[L, R]内有多少数字,数位之和为质数。最大和不超过72,于是先筛出72内每个数是不是质数。当然也可以筛到100。设dp[i][sum]表示到第i位,前i位和为sum时的数字个数。直接枚举每位转移就行了。/* Telekinetic Forest Guard */#include #include #include using names原创 2016-05-01 11:08:32 · 461 阅读 · 0 评论 -
【SPOJ-RAONE】Ra-One Numbers【数位DP】【记忆化搜索】
【题目链接】题意:求[L, R]内有多少数字,满足偶数位置的数字和减去奇数位置的数字和等于1。一开始敲出来,发现样例不对。调了一会以为是前导0问题,结果改了还是不对。最后看了discuss,发现是题意问题...出题人的奇偶是从低位开始的,即最低位为奇数位。然后就过了。/* Telekinetic Forest Guard */#include #include #原创 2016-05-01 11:40:36 · 442 阅读 · 0 评论 -
【SPOJ-BALNUM】Balanced Numbers【数位DP】【状态压缩】
【题目链接】题意:问[L, R]内有多少数字,满足每个奇数都出现了偶数次,每个偶数都出现了奇数次(没有出现的数不考虑)用三进制来表示状态,0表示没出现,1表示出现奇数次,2表示出现偶数次。然后就是裸的数位DP了。/* Telekinetic Forest Guard */#include #include #include using namespace std;原创 2016-05-01 15:07:32 · 752 阅读 · 0 评论