NYOJ 17 单调递增最长子序列
2015-08-18 09:56
267 查看
单调递增最长子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入 第一行一个整数0<n<20,表示有n个字符串要处理 随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出 输出字符串的最长递增子序列的长度 样例输入 3 aaa ababc abklmncdefg 样例输出 1 3 7 #include<iostream> #include<cstring> #define N 10010 using namespace std; char s ; char ans ; int count; int main() { int test,len,i,j; cin>>test; while(test--) { cin>>s; len=strlen(s); count=1; ans[0]=s[0]; for(i=0;i<len;i++) { for(j=count-1;j>=0;j--) { if(j==0&&ans[0]>s[i]) ans[0]=s[i];//表示字符串中有比ans[0]还小的字符,这是把ans[0]替换 if(ans[j]<s[i])//如果ans中最大下标比s[i]小,则ans[j+1]=s[j],即把ans最大下标换为s[i] { ans[j+1]=s[i]; if(j==count-1) count++;//如果ans的最大下标被赋值,则count+1; break; } } } ans[count]='\0'; // cout<<ans<<endl; cout<<count<<endl; } return 0; } 思路详解:如上
相关文章推荐
- 多任务的同步与互斥
- AsyncTask内的各个方法调用顺序
- DOS命令
- 控制文本和外观------Attr Binding(attr属性绑定)
- VS2008向工具箱中添加控件解决 未能实例化 设计时授权
- 我的openwrt学习笔记(三):linux基础命令学习
- WINSERVER2008 IIS7 配置ASP 老程序
- 1071. Speech Patterns
- 数组中的逆序对
- 关于Solaris的9个小技巧
- 简单网页源码查看器
- 详解PHP中的mb_detect_encoding函数使用方法
- http访问服务器rest格式请求
- HDU 5100 Chessboard (用k×1的矩形覆盖n×n的正方形)(找规律)
- X的追求道路
- 1036. Boys vs Girls
- jvm虚拟机结构
- cocos2d-x中有一个JniHelper类详细使用
- 导致实例逐出的五大问题
- 主成分分析(Principal components analysis)-最小平方误差解释