动态规划——最长子序列长度

题目:

代码:

#include<iostream> 
#include<cstring>
#include<algorithm>
using namespace std;
const int MAX=1010;
int a[MAX];
int maxlen[MAX];
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];maxlen[i]=1;
	}
	for(int i=2;i<=n;i++)
	{
		for(int j=1;j<i;j++)
		if(a[i]>a[j])
		maxlen[i]=max(maxlen[i],maxlen[j]+1);
	}
	cout<<*max_element(maxlen+1,maxlen+1+n);
// 求数组maxlen[]中的最大值;max_element(开始,结束);返回最大值的地址
	return 0;
}
posted @ 2018-10-10 21:19  袁中  阅读(213)  评论(1编辑  收藏  举报