字典序问题
2015-09-07 11:31
176 查看
找到其中的递推关系即可。
View Code
#include"iostream" #include"stdio.h" #include"string" #include"string.h" using namespace std; const int mx=105; char str[mx]; long long cnt[mx][mx]; long long tot[mx]; int main() { freopen("E:\\in.txt","r",stdin); int t,i,j,k; memset(tot,0,sizeof(tot)); memset(cnt,0,sizeof(cnt)); for(i=1;i<=26;i++) cnt[i][1]=1; for(i=1;i<=26;i++) tot[1]+=cnt[i][1]; for(k=2;k<=6;k++) { for(i=1;i<=26;i++) { for(j=i+1;j<=26;j++) { cnt[i][k]+=cnt[j][k-1]; } } } for(k=2;k<=6;k++) { for(i=1;i<=26;i++) { tot[k]+=cnt[i][k]; } } cin>>t; while(t--) { cin>>str; int len=strlen(str); int sum=0; for(i=1;i<len;i++) sum+=tot[i]; for(i=0;i<len;i++) { int t; if(i==0) t=1; else t=str[i-1]-96+1; for(j=t;j<str[i]-96;j++) { sum+=cnt[j][len-i]; } } cout<<sum+1<<endl; } return 0; }
View Code
相关文章推荐
- CodeForces 429B Working out
- 面试题 13
- Python File writelines() Method 按行写文件
- 有限责任公司自愿解散基本流程及需要注意的事项
- Week1----9月8日 HTML基础
- Android 最火的快速开发框架XUtils
- 安装jd-core反编译
- 安卓-APK反编译
- quick-3.5 无法正常显示有混合纹理的csb文件
- MSSql Server基础学习系列———分组排序
- Unity Mobile Device Input
- 音乐播放器项目
- C++项目中的extern "C" {}
- Android学习总结之性能优化
- C#命名规范
- Objective-C可变参数方法的定义和使用
- NIO与IO的区别与使用
- Java的HashMap和HashTable
- J2EE中后台action与ajax的搭配使用
- HashTable