//看了那么多天的动态规划,终于懂了那么一点点。。。
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
int n;
char s[10010];
int count[10010],len;
cin>>n;
while(n--)
{
cin>>s;
len=strlen(s);
int i,j;
for(i=0;i<len;i++)
count[i]=1;
for(i=0;i<len;i++)
for(j=i+1;j<len;j++)
{
if(s[j]>s[i] && count[i]+1>count[j])
count[j]++;
}
sort(count,count+len);
cout<<count[len-1]<<endl;
}
return 0;
}
单调递增子序列
最新推荐文章于 2021-10-20 17:21:41 发布