题目描述
blablabla
#include<bits/stdc++.h>
using namespace std;
int a[1010];
int f[1010];
int n;
int main()
{
string s;
getline(cin,s);
stringstream ss(s);
while(ss>>a[n])n++;
int res,h[1010],cnt=0;
for(int i=0;i<n;i++)
{
f[i]=1;
for(int j=0;j<i;j++)
if(a[i]<=a[j])
f[i]=max(f[i],f[j]+1);
res=max(res,f[i]);
int k=0;
while(k<cnt && a[i]>h[k])k++;
if(k==cnt)h[cnt++]=a[i];
else h[k]=a[i];
}
cout<<res<<endl<<cnt<<endl;
}
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla