是因为我好久不刷题了吗,这个题竟然做了俩小时,好几个思路都被推翻

用dp数组预处理出范围是a->a+x字符y长度有多少种递增串

然后例如def首先求a__有多少种情况那么自然后面就是只有b即dp[2][25],再求b__的情况c__,ab__,ac__.......

然后求字符串长度小于输入长度的情况

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
const int maxa = ;
char str[maxa];
int dp[][];
int main(){
for(int i = ; i < ; i++){
for(int k = ; k <= ; k++){
if(i == ) dp[i][k] = ;
else for(int j = ; j < k; j++)dp[i][k] += dp[i-][j];
/// cout<<dp[i][k]<<" ";
}
//puts("");
}
char str[];
while(scanf("%s", str)!=EOF){
int ok = ;
for(int i = ; str[i]; i++){
if(str[i] <= str[i-])
ok = ;
}
if(ok){
cout<<<<endl;continue;
}
int n = strlen(str);
int ans = ;
for(int i = ; str[i]; i++){
for(int k =i == ?:str[i-]-'a'+; k < str[i]-'a'; k++){
ans += dp[n--i][-k];
}
}
int m = ;
//cout<<ans<<endl;
for(int i = ; i < n-; i++){
ans += dp[i+][+];
}
cout<<ans<<endl;
}
}

最新文章

  1. express 的 app.get和app.use
  2. Spring MVC和Struts2的比较(二)
  3. API 进程、线程函数
  4. bzoj4525: [Usaco2016 Jan]Angry Cows
  5. 关于PowerDesigner
  6. Java Script to Read, Write, and Delete cookies
  7. 将一段含有0的字符数组赋给string
  8. NodeJs学习笔记(四)---单元测试
  9. jmeter分布式测试远程连接失败
  10. withRouter使用
  11. alias命令使用
  12. 从零开始搭建FAQ引擎--基于ES的字面匹配
  13. Docker 网络部分的简单学习以及转帖别人的blog
  14. [转帖]GitHub上整理的一些工具
  15. 搭建Telnet服务器
  16. DataGridView设置列标题不换行
  17. Python中属性和描述符的简单使用
  18. ucenter 认证登录
  19. MT【117】立体几何里的一道分类讨论题
  20. maven web不能创建src/main/java等文件等问题

热门文章

  1. with语句
  2. 用异提交时,后台通过校验规则文件,校验不通过时,跳转到INPUT视图时,前台显示错误信息的解决办法
  3. Facebook和Google如何激发工程师的创造力
  4. Cracking the coding interview--Q1.7
  5. poj 2287 动态规划
  6. rsyslog imfile 模块说明
  7. layer iframe层的使用,传参
  8. Sublime Text2不自动打开最近的项目
  9. Django中生成PDF(一)
  10. 知方可补不足~用xsl来修饰xml