首页 > 学院 > 开发设计 > 正文

单调递增最长子序列

2019-11-06 06:22:33
字体:
来源:转载
供稿:网友

南阳理工oj

数据比较弱。。。

#include<iostream>#include<cstring>#define MAX_SIZE 10002using 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;	}	}


上一篇:QTimer类使用方法。

下一篇:JDBC例子

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表