摘要: 今天比赛做得一个数位dp。首先声明这个题目在数位dp中间绝对是赤裸裸的水题。毫无技巧可言。题目的意思是个你a和b,要求出在a和b中间有多少个数满足数位上各个数字的和为10的倍数。显然定义一个二维数组f,f[i][j]表示i位任意的数组合所有数位对10取模后余数为j的种类。这样直接枚举1-10就可以得出i和i+1的递推关系了呢。简单了吧。在求答案的时候不是直接求的,用的是数位dp最最经典的答案求法: 那就是定义一个count(x)函数表示不大于x满足的个数,这样,所求的答案就等于count(b)-count(a)了下面的问题就是如何求得count这个函数值了。首先我们把数x进行分解,用数组中的. 阅读全文
posted @ 2013-09-11 23:47 092000 阅读(368) 评论(0) 推荐(0) 编辑