Code POJ
来源:互联网 发布:淘宝网抛光砖颜色大全 编辑:程序博客网 时间:2024/06/04 18:06
要求后一位比前一位的字典序大,统计它是满足这个条件的数的第几个,数位dp,d[pos][pre] 统计到pos位,前一项是pre的个数。
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <vector>#include <map>#include <cmath>#include <set>#include <queue>using namespace std;const int INF=1e9+10;const double EPS = 1e-7; typedef long long ll;ll d[15][27];char s[15];int bit[15];int dfs(int cnt,int pre,int limit,int lead){if(cnt==-1&&lead) return 1;if(!limit&&d[cnt][pre]!=-1) return d[cnt][pre];int up=limit?bit[cnt]:26;ll ans=0;int i=pre+1;if(!lead) i=0;for(;i<=up;i++){ans+=dfs(cnt-1,i,limit&&i==up,i);}if(!limit) d[cnt][pre]=ans;return ans;}int main(){memset(d,-1,sizeof(d));while(scanf("%s",s)!=EOF){int len=strlen(s);int flag=0;for(int i=0;i<len-1;i++){if(s[i+1]<=s[i]){flag=1;break;} }if(flag){printf("0\n");continue;}for(int i=0;i<len;i++){bit[len-1-i]=s[i]-'a'+1;}ll ans=dfs(len-1,-1,1,0);printf("%lld\n",ans );}return 0;}
阅读全文
0 0
- Code POJ
- Code POJ
- poj 1850 Code
- poj 1850 Code
- poj 1850 code
- poj 1850 Code
- poj 1850 Code
- POJ 1042 Source Code
- poj 1850 Code
- poj 1850 Code
- poj 2015 Permutation Code
- POJ 1850 Code
- POJ 1850 Code
- poj 1850 Code
- POJ 1850 Code
- POJ 1896 Code Formatting
- POJ 1580 Code
- POJ 2015 Permutation Code
- red hat常用命令3
- HDU 3392 Pie(dp滚动数组+思路)
- Xception算法详解
- [POJ2503] Babelfish
- Java升级打怪第一周(Java核心语法)
- Code POJ
- GitLab备份恢复
- mapreducer入门代码之单词计数
- FZU 2256 迷宫 (DFS)(福州大学第十四届程序设计竞赛)
- idea导入jar包
- java学习之小项目彩票购买系统
- 逻辑题
- 网站被别人复制克隆了怎么办
- 电池采集器基本测试软件