数位DP
Huglight
这个作者很懒,什么都没留下…
展开
-
Codeforces 55D. Beautiful numbers 数位DP 离散化
题意:定义一个数为beautiful number,则这个数可以被其每位数整除,给出左右边界l和r,求出边界内存在的beautiful number个数 思路:数据量太大(9*10^18),故先要离散化,之后用数位DP对每位进行枚举,求出当前数位漂亮数字个数,递归求出答案。lcm表示a,b的最小公倍数,用来求各位数的最小公倍数,len表示枚举边界,即数位长度,lim表示是否最高位,用来求枚举上界 ...转载 2019-09-10 21:03:56 · 113 阅读 · 0 评论 -
HDU 2089 不要62 数位DP
题意:一个数为好数,则这个数各位里没有连续的62且没有4,给定区间l和r,求区间内好数的个数 思路:数位DP记录上一位数字,若上一位为6当前位为2,或者当前位为4则跳过,用sta标记是因为前导为6时可能下一位是2,则结果就会和前导不是6的结果不同,而4和2则不用单独做标记,因为在判断时就已经算进去了 #include<iostream> #include<cstdio> #...原创 2019-09-10 21:28:43 · 114 阅读 · 0 评论 -
HDU 3555 Bomb 数位DP
题意:给一个炸弹,当计时器当前值中包含连续的49时炸弹威力加1,给出计时器初始值,求出炸弹总威力 思路:数位DP,记录上一位是否为4,若满足条件且当前位为9,直接加上当前长度的十的len次方个数,比如500内满足十位数4个位数9的有49,149,249,349,449共5个,百位数为4十位数为9的有490,491,…,499共10个。若不满足则继续递归 #include<iostream&g...原创 2019-09-10 22:59:29 · 120 阅读 · 0 评论