
数位DP
文章平均质量分 57
16bit戦争
这个作者很懒,什么都没留下…
展开
-
BZOJ 3209 花神的数论题 数位DP
题目大意:求1~N中所有数的二进制的1出现的个数的乘积。 思路:简单的数位DP。首先预处理出一个数组:f[i][j]表示i位二进制数中有j个1的数字有多少个。转移显然是f[i][j] = f[i - 1][j - 1] + f[i - 1][j]。 之后按照二进制位从高到低统计答案。对于要统计的这个数的第i为是1的话,我们就可以知道前面000……0000~111……1111这些数的答案原创 2015-01-30 19:29:18 · 813 阅读 · 0 评论 -
BZOJ 1833 ZJOI 2010 count 数字计数 数位DP
题目大意:问0~9这10个数字在[l,r]中出现过多少次。 思路:数位DP。以前只是听说过,并没有写过,写了才发现好闹心啊。。 预处理一个数组,f[i][j][k]表示长度为i,开头为j,数字k出现的次数。 对于一个数kXXXXXX,我们先处理1~999999,然后处理1000000~kXXXXXX 前面的东西很规则,可以直接调用f数组来解决。 对于后面不太规则的东西,按位处理。原创 2014-12-29 19:56:19 · 831 阅读 · 0 评论