hdu 4722 good number 数位dp入门
来源:互联网 发布:js获取日期时间 编辑:程序博客网 时间:2024/05/16 02:02
明显dp[i][j][k] 表示i为取j的时候余数为k的个数 然后dp方程就显然可得了,我看其他人都是2位,少了j这个位,但是我认为有这位比较清楚啊,贴上代码
#include<cstdio>#include<cstring>#define M 25#define ll __int64ll dp[M][10][10];void init(){ memset(dp,0,sizeof(dp)); dp[0][0][0]=1; ll n=10; for(ll i=0;i<M-1;i++){ for(ll j=0;j<n;j++){ for(ll k=0;k<n;k++){ for(ll k1=0;k1<n;k1++){ ll t1=(k+k1)%n; dp[i+1][k1][t1]+=dp[i][j][k]; } } } }}ll w[M];ll f(ll n){ if(n==0) return 0ll; ll len=0; while(n){ w[++len]=n%10; n/=10; } ll flag=0; ll tsum=0; for(ll i=len;i>=1;i--){ for(ll j=0;j<w[i];j++){ ll t1=(100-flag)%10; tsum+=dp[i][j][t1]; } flag+=w[i]; flag%=10; } return tsum;}int main(){ init(); ll cas; while(~scanf("%I64d",&cas)){ for(ll q=1;q<=cas;q++){ ll a,b;scanf("%I64d%I64d",&a,&b); printf("Case #%I64d: ",q); printf("%I64d\n",f(b+1)-f(a)); } } return 0;}/*33213 65465456*/
- hdu 4722 good number 数位dp入门
- hdu 4722 Good Numbers 数位dp
- 【数位DP】 HDU 4722 Good Numbers
- hdu 4722 Good Numbers 数位dp
- HDU 4722 Good Numbers (数位dp)
- [数位dp] hdu 4722 Good Numbers
- hdu 4722 Good Numbers(数位dp)
- hdu 4722 Good numbers(数位DP)
- HDU 4722-Good Numbers-数位dp
- 【HDU 4722】Good Numbers(数位dp)
- HDU 4722 Good Numbers(数位DP)
- HDU 4722 Good Numbers(数位DP)
- HDU 4722Good Numbers(数位dp)
- HDU 4722 Good Numbers(找规律+数位DP)
- hdu 4722 Good Numbers(初涉数位dp)
- 数位DP入门之hdu 3652 B-number
- hdu B-number 3652 数位dp入门 第一发
- HDU 4722 Good Numbers 数位dp或找规律枚举 数位dp感悟
- JQuery中6种根据属性或属性值获得元素获取方法
- 宏选择定义
- 在 Android 4.1上,分析 input -- android framework 部分 2
- 使用 jQuery.i18n.properties 实现 Web 前端的国际化
- vim简易使用指南
- hdu 4722 good number 数位dp入门
- zend framework 2 过滤器的使用
- LDA主题模型简介
- perl学习(3) 列表
- maven仓库管理工具Artifactory部署
- 数据库的数据太长,显示在JSP如何到一定长度时自动换行?
- mysql 5.6.10-5.6.13 x64 配置
- 在linux上配置arm交叉编译虚拟环境
- 设置背景透明 filter:alpha(opacity=80)