快乐的一天从AC开始 | 20210710 | P2188
今天啊,是双倍的快乐
心路历程
一眼数位DP
思路
首先前缀和转换成\(ans = g(r) - g(l - 1)\)。
大概就是从低位开始DFS,枚举每个位上是多少,并记录当前状态(是否是上界,是否是全0)。
纯DFS肯定会T,搞个记忆化搜索。记\(f_{i, j}\)表示固定第\(i\)位为\(j\),后续的方案数(不算边界情况,例如之前一直是上界或现在还是0)。
然后如果DFS到记录过的状态就直接用\(f_{i, j}\),不用继续往下搜。(数位DP = DFS + 记忆化搜索
现在复杂度就够了(算不出来是啥,不过挺快的