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