acwing 895. 最长上升子序列

给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。

#include<bits/stdc++.h>
using namespace std;
const int N=1005;
int a[N],f[N],n,ans;
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[j]<a[i]) f[i]=max(f[i],f[j]+1);
        ans=max(ans,f[i]);
    }
    cout<<ans;
    return 0;
}

 

posted @ 2020-12-11 16:18  君与  阅读(49)  评论(0)    收藏  举报