#include<iostream>
#include<cstdio>
#include<string.h>
using namespace std;
int main()
{
int t;
char str[10001];
int M;
int i,j;
scanf("%d",&t);
while(t--)
{
scanf("%s",str);
int pos[10001]={1};
i=M=1;
while(i<strlen(str))
{
j=i-1;
int max=1;
while(j>=0)
{
if(str[j]<str[i]&&max<pos[j]+1)
{
max=pos[j]+1;
}
j--;
}
pos[i]=max;
if(M<max){
M=max;
}
i++;
}
printf("%d\n",M);
}
return 0;
}nyoj17 单调递增最长子序列
最新推荐文章于 2017-08-17 17:48:22 发布
本文介绍了一种求解最长递增子序列问题的算法实现。通过动态规划的方法,该程序能够有效地找到给定字符串中最大递增子序列的长度。文章通过具体的C++代码示例展示了算法的设计思路及实现过程。
687

被折叠的 条评论
为什么被折叠?



