您的位置:首页 > 其它

单调递增最长子序列

2017-03-06 23:06 225 查看
南阳理工oj

数据比较弱。。。

#include<iostream>
#include<cstring>
#define MAX_SIZE 10002
using namespace std;
char str[MAX_SIZE];
int  cost[MAX_SIZE];
int main()
{
int t;
int len;
cin>>t;
char c;
while(t--)
{
cin>>str;
memset(cost,0,sizeof(cost));
len=strlen(str);
cost[len-1]=1;
c=str[len-1];
for(int j=len-2;j>=0;j--)
{
int temp=j+1;
int maxnum=0;
for(;temp<len;temp++)
{
if(str[j]<str[temp]&&cost[temp]>maxnum)
{
maxnum=cost[temp];

}

}
cost[j]=maxnum+1;

}
int maxnum=-1;
for(int j=0;j<len;j++)
{
//cout<<cost[j]<<" ";
if(cost[j]>maxnum)
maxnum=cost[j];
}
cout<<maxnum<<endl;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: