算法1
(暴力枚举dp) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
#include<iostream>
#include<cmath>
#include<cstdio>
#define maxn 100002
using namespace std;
int f[maxn],a[maxn],n,ans;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
f[i]=1;
}
for(int x=1;x<=n;x++)
{
for(int p=1;p<x;p++)
if(a[p]<a[x]) f[x]=max(f[x],f[p]+1);
printf("f[%d]=%d\n",x,f[x]); 可以看过程
}
for(int i=1;i<=n;i++)
ans=max(ans,f[i]);
cout<<ans;
return 0;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla