数位dp
来源:互联网 发布:卡证制作软件 编辑:程序博客网 时间:2024/06/05 09:31
【what is 数位dp?
说白了,就是为了解决一类与数位有关的区间统计问题,无法暴力求解,只能在数位上进行操作。而这样往往需要做一些预处理,于是就用到了这东西。
【how to?
从高到低枚举第一次<n对应位,之后的位就可以从0...0~9...9了,预处理后就可以直接统计了。
看起来很简单可是蒟蒻如我只AC了3道..........
以hdu2089为例【我知道代码很丑你们将就着看吧】。
预处理如下。
f[0][0]=1;for(i=1;i<=6;i++)for(j=0;j<=9;j++)if(j!=4)for(k=0;k<=9;k++)if(j!=6||k!=2) f[i][j]+=f[i-1][k];
然后这是统计。
for(i=dgs;i>0;i--){for(j=0;j<(m/d[i])%10||(i==1&&j==m%10);j++)if(j!=4&&(j!=2||(m/d[i+1])%10!=6)) ans1+=f[i][j];if(((m/d[i])%10==4)||((m/d[i])%10==2&&(m/d[i+1])%10==6)) break;}
(其实我觉得把原数单独挑出来判断是不是会更好..........................................
【一些题目(不定期更新)
hdu 2089
阅读全文
0 0
- 数位dp
- 数位DP
- 数位DP
- 数位dp
- 数位dp
- 数位dp
- 数位DP
- 数位dp
- 数位DP
- 【数位DP】
- 数位DP
- 数位dp
- 数位dp
- 数位DP
- 数位DP
- 数位dp
- 数位DP
- 数位DP
- Browse the filesystem链接打不开
- cacti中snmp的应用
- Spell checker poj 1035 (串的练习)
- elasticsearch学习总结(二) 集群数据分配
- [SIM]如何修改使得系统语言不会随着 第一次插入的SIM卡而改变
- 数位dp
- 博弈论——sg函数模板
- Android 流式布局 + 搜索记录,包括多数据本地存储
- EditText点击事件:弹出时间框
- java简单坦克大战制作代码
- 亚信前端实习生面试记录
- oracle存储过程语法与使用
- WebService中篇:发布
- LeetCode