![](https://img-blog.csdnimg.cn/950377328cf441b7a692879ef86ad1d1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数位统计DP
带你深入浅出数位统计DP
矩阵不需要秩
你被击倒多少次都不重要,重要的是你有多少次爬了起来。
展开
-
p2602 数字计数
这里从大到小枚举位数,可以将O(n*n)的复杂度降为个位数乘以个位数的级别,非常优秀。从大到小枚举位数,假设这里枚举到了abcdefg七位数,先计算后面六位数每个数字出现的次数,然后计算0到a-1的数字的在第七位次数,最后计算后面六位数的大小,再加个一就是当前位的数字的次数。因为当前位置是0的数字我们计算了一下,也就是前导0,0bcdefg这个数字不符合要求,所以应该剪掉。最后利用前缀和的思想输出最终的答案。这里的记忆化搜索代码可以当作模板使用来解决计数DP类型的题目。原创 2023-09-08 13:15:30 · 34 阅读 · 0 评论 -
p2657 windy数
这里dfs的参数要存一下当前位的前一位的值,即last,因为刚开始0也是windy数,所以last的初始值应该为-2。最后套一下模板就可以了。原创 2023-09-08 17:14:21 · 40 阅读 · 0 评论 -
P4124 手机号码
这里最难的是定义状态。f[pos][v][u][state][k4][k8]表示后pos位,当前位的前一位是v,前前位是u,是否有三个相邻的数字,是否有4,是否有8。比如:324wqer和724werwe 这两位数字的前三位是相同的,也就是可以记忆化搜索。这类题目都可以使用模板,就是状态的表示要合理。原创 2023-09-09 17:30:00 · 34 阅读 · 0 评论