最长上升子序列
-
状态表示
-
集合:所有以i个数结尾的上升子序列.
-
属性:Max.
-
状态计算
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int n,a[N],f[N],maxn;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
{
f[i]=1;
for(int j=1;j<i;j++)
{
if(a[i]>a[j])
{
f[i]=max(f[i],f[j]+1);
maxn=max(maxn,dp[i]);
}
}
}
printf("%d\n",maxn);
return 0;
}