动态规划——最长子序列长度
题目:
代码:
#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;
}