数位DP——HDU6148 Valley Number
来源:互联网 发布:linux ps和netstat 编辑:程序博客网 时间:2024/05/22 01:35
题面:hdu6148
比赛的时候调到快结束的时候才A掉。。。(我真是太弱了。。。
其实就是数位DP,状态也很简单:
然后先把f求出来之后直接统计答案就行了
还是很简单的。。。要是早调出来几分钟说不定文化衫就有了呢QAQ
#include <cstdio>#include <algorithm>#include <cmath>#include <cstring>#include <iostream>#include <ctime>#include <map>#include <queue>#include <cstdlib>#include <string>#include <climits>#include <set>#include <vector>#define int long longusing namespace std;const int MOD=1e9+7;int f[1010][10][2];char s[1010];inline int dp(){ scanf("%s",s+1);int l=strlen(s+1); if(l==1)return s[1]-'0'; int ans=0; for(int i=1;i<l;i++) for(int j=1;j<10;j++)(ans+=f[i][j][0]+f[i][j][1])%=MOD; int flag=0; for(int i=1;i<l;i++){ int now=s[i]-'0'; for(int j=0;j<now;j++)if(i!=1||j!=0){ if(flag==1&&j-s[i-1]+'0'<0)continue; (ans+=f[l-i+1][j][0])%=MOD; if((i==1)||(!flag&&j-s[i-1]+'0'<=0))(ans+=f[l-i+1][j][1])%=MOD; } if((i>1)&&s[i]-s[i-1]<0&&flag){flag=2;break;} if((i>1)&&s[i]-s[i-1]>0)flag=1; } if(flag<2){ int now=s[l]-'0'; if(flag<2)for(int j=0;j<=now;j++){ if(flag==1&&j-s[l-1]+'0'<0)continue; (ans+=f[1][j][0])%=MOD; } } return ans;}signed main(){ for(int i=0;i<10;i++)f[1][i][0]=1; for(int i=2;i<=100;i++) for(int j=0;j<10;j++) for(int k=0;k<10;k++){ if(j>k)(f[i][j][1]+=f[i-1][k][0]+f[i-1][k][1])%=MOD; if(j==k)(f[i][j][0]+=f[i-1][k][0],f[i][j][1]+=f[i-1][k][1])%=MOD; if(j<k)(f[i][j][0]+=f[i-1][k][0])%=MOD; } int T;scanf("%I64d",&T); while(T--)printf("%I64d\n",dp()); return 0;}
阅读全文
1 0
- 数位DP——HDU6148 Valley Number
- 【数位DP】HDU6148[Valley Number]题解
- hdu6148-Valley Numer(数位dp)
- [数位DP]Hdu 6148——Valley Number
- hdu6148 数位dp
- HDU6148-Valley Numer
- hdu3652——B-number(数位DP)
- hdu 6148 Valley Numer 数位dp
- HDU 6148 Valley Numer [数位dp]
- hdu 6148 Valley Numer(数位DP)
- Hdu 6148 Valley Numer 数位DP
- hdu 6148 Valley Numer (数位dp)
- hdu 6148 Valley Numer (数位dp)
- HDU 6148 Valley Numer (数位dp)
- 数位DP——HDU 3652 B-number
- HDU 3652——B-number(数位DP)
- HDU——B-number(数位DP)
- BC#31.1002beautiful number——数位DP/暴力
- Android 获取前台应用的方法总结
- Android 测试支持库 1.0 现已发布!
- Mapper映射文件中的#{}与${}
- MySQL不支持事务处理的解决方法
- 毛主席失传多年的救世奇文《心之力》
- 数位DP——HDU6148 Valley Number
- Data Structures and algorithm analysis—1.3. A Brief Introduction to Recursion(数据结构—1.3 递归的简介)(之二)
- Kettle安装和配置
- 扫描--不是网传雷达
- 机器人操作系统ros ———一个月的学习历程
- 2015ccpc——H
- 你能获得的数据量越大,你能挖掘到的价值就越多。
- 初写定时压缩日志任务总结
- android 自带日历控件datePicker