数位DP入门题,其实只要搞懂dp[i][j]存的是什么就行了。
用搜索解法的话,每次相当于枚举了比当前位小的所有数字,然后需要记录下是不是上界(第一位)。就题目而言的话还需要记录前面一位是不是6(这决定了当前位可不可以是2),记忆化的话有一点是当如果是上界(第一位)的时候是不能记忆的,因为记忆话那个其实是存了第len位长的前缀为/不为6的当前位可以从0到9的所有数中的答案,注意这里这个东西是和给定的什么串无关的,同时他也不能有关,因为这个不能把信息完全表示出来。所以只有在不是上届的时候才保存记忆化结果。
#include
#include
#include
#include