题单地址:[kuangbin带你飞]专题1-23
HDU 2089 不要62
可以当做数位dp的模板题。$dp[i][j]$表示i位,且首位为j的数字个数,排除掉相邻两数为62与含有4的数字即可。
代码
1 | |
HDU 3555 Bomb
$dp[i][j]$表示i位,且首位为j的数字个数
初始化: 当枚举到第i位数字为j时,$dp[i][j]=\sum_{0\leq k\leq 9}dp[i-1][k]$,再特判一下当j为4,k为9时,方案数应该为$10^{i-2}$
计算:前半部分还是常规计算,之后当枚举数字的每一位时,如果出现i位为9,i+1位为4,此时$ans$应该加上$x\%10^{i-1}+1$并结束计算
代码
1 | |