几年前简单的做过几道数位dp的题目,基于单个数字,但是基于的模板是对于前导零与上界限制没有记忆化的一个板子,基本想法就是有限制就暴力,无限制就记忆化。
下面来换一种想法。
先看题:
题意: 给定n,然后求出从0到n有多少个数对,满足第一个数小于第二个数,但是第一个数的各位之和要大于第二个数。
这类dp题与之前不同的是要统计的不是单个数字而是数对
题解: $dp[i][j][2][2][2]$表示,当前到了第$i$位,前面搜素的数位之差为$j$,第一个数最高位是否有限制,第二个数最高位是否有限制,第二个数是否大于了第一个数。
将限制也记忆化