摘要: 竞赛中有这样一类问题:求给定区间中,满足给定条件的某个D进制数或此类数的数量。所求的限定条件往往与数位有关,例如数位之和、指定数码个数、数的大小顺序分组等等。题目给定的区间往往很大,无法采用朴素的方法求解。此时,我们就需要利用数位的性质,设计log(n)级别复杂度的算法。解决这类问题最基本的思想就是“逐位确定”的方法。通常的数位dp可以写成如下记忆化搜索的形式: 1 int dfs(int i, int s, bool e) 2 { 3 if (i==-1) return s==target_s; 4 if (!e && ~f[i][s]) return f[i][s]... 阅读全文
posted @ 2013-03-16 20:53 wuminye 阅读(473) 评论(0) 推荐(0) 编辑