输入描述 Input
Description
第一行,一个整数N。
第二行,N个整数(N
输出描述 Output
Description
输出K的极大值,即最长不下降子序列的长度
样例输入 Sample Input
5
9
样例输出 Sample Output
3
数据范围及提示 Data Size &
Hint
【样例解释】
最长不下降子序列为3,6,7
分类标签 Tags 点此展开
㈡算法分析:
在b(i+1),b(i+2),…,b(n)中,找出一个比b(i)大的且最长的不下降序列,作为它的后继。
㈢数据结构:
㈤一般处理过程是:
代码:
#include
using namespace
std;
#include
int
a[5001][3],n;//a[i][1]储存原数,a[i][2]储存1-i的最长上升子序列
int main()
{
scanf("%d",&n);
for(int
i=1;i<=n;++i)
{
scanf("%d",&a[i][1]);
a[i][2]=1;//把初始序列长度设为1
}
for(int
i=1;i<=n;++i)
{
int
maxx=1;//注意
}
int lon=0;
for(int
i=1;i<=n;++i)
{
if(a[i][2]>lon)//找出最长长度
lon=a[i][2];
}
cout<<lon<<endl;
return 0;
}