最长上升子序列

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 const int N=1005;
 5 
 6 int a[N],f[N];
 7 int main(){
 8     int n,maxx=0;
 9     cin>>n;
10     for(int i=1;i<=n;i++)
11         scanf("%d",&a[i]);
12     //dp算法
13     for(int i=1;i<=n;i++){
14         f[i]=1;
15         for(int j=1;j<i;j++)
16             if(a[i]>a[j])
17                 f[i]=max(f[i],f[j]+1);
18         maxx=max(maxx,f[i]);
19     }
20     cout<<maxx;
21     return 0;
22 }