您的位置:首页 > 其它

最长不下降子序列(O(N^2))

2010-06-21 15:35 253 查看
#include<iostream>
using namespace std;
int main(){
int n;
int i,j;
cin>>n;
int *a=new int[n+1];
int *ans=new int[n+1];
//memset(ans,0,sizeof(int)*(n+1));
for (i=1;i<=n;i++)
{
cin>>a[i];
ans[i]=1;
}
for (i=2;i<=n;i++)
{
for (j=1;j<i;j++)
{
if (a[j]<=a[i]){
ans[i]=max(ans[j]+1,ans[i]);
}
}
}
int max1=1;
for (i=1;i<=n;i++)
{
if (ans[i]>max1)max1=ans[i];
}
cout<<max1;
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: