最长子序列 解题模板

162 阅读1分钟

蓝桥杯倒计时 12小时

最长子序列 解题模板
#include<bits/stdc++.h>
using namespace std;

int main()
{
	int maxn = 10;
	int a[maxn],f[maxn];
	int n,ans=0;
    cin>>n; 
    for(int i=1;i<=n;i++) 
    {
        cin>>a[i];
        f[i]=1;
    }
    for(int i=1;i<=n;i++)
        for(int j=1;j<i;j++)
            if(a[j]<a[i]) 
            {
            	//cout<<i<<" "<<j<<" "<<f[i]<<" "<<f[j]<<endl; 
				f[i]=max(f[i],f[j]+1);
            }
				
    for(int i=1;i<=n;i++) 
        ans=max(ans,f[i]);
    cout<<ans;
    return 0;
}