快乐的一天从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 + 记忆化搜索

现在复杂度就够了(算不出来是啥,不过挺快的

原文地址:https://www.cnblogs.com/zengzk/p/14993379.html