![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【动态规划】数位dp
文章平均质量分 79
【动态规划】数位dp
A_zjzj
衢州华茂外国语学校郑钧
展开
-
NOIP模拟赛准考证号题解--zhengjun
一眼数位 dpdpdp答案就是 sum1,r−sum1,l−1sum_{1,r}-sum_{1,l-1}sum1,r−sum1,l−1,关键是如何求 sum1,numsum_{1,num}sum1,num用 fi,j,0/1f_{i,j,0/1}fi,j,0/1 表示在第 iii 位时,上一位填了 jjj,是否顶到上界(就是比如说在 474747 中,一开始选了 444,那么顶到了上界,下一位就不能取到 8/98/98/9)的方案数。转移方程式显然是:fi,j,is=∑k=09fi−1,k,原创 2020-12-10 19:50:20 · 194 阅读 · 1 评论 -
洛谷 P2602 [ZJOI2010]数字计数 题解--zhengjun
这道题其实就是一个数位 dpdpdp 裸题,就是他这个前缀 000 有一点难处理,所以就多开一维就行了。代码#include<cstdio>#include<cstring>#define ll long longusing namespace std;ll f[13][2][2][13];int a[13];ll dfs(int i,int is,int zero,int num,int sum){ if(!i)return sum; if(f[i]原创 2020-12-10 20:03:20 · 224 阅读 · 0 评论