给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。
#include<bits/stdc++.h>//cmhao 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; }
原文:https://www.cnblogs.com/1314cyd/p/14120986.html