题目描述: |
设有由n个不相同的整数组成的数列,记为: a(1)、a(2)、……、a(n)且a(i)<>a(j) (i<>j)。例如3,18,7,14,10,12,23,41,16,24。若存在i1<i2<i3<… < ie且有a(i1)<a(i2)<… <a(ie)则称为长度为e的不下降序列。如上例中3,18,23,24就是一个长度为4的不下降序列,同时也有3,7,10,12,16,24长度为6的不下降序列。程序要求,当原数列给出之后,求出最长的不下降序列。
|
输入: | 第一行为n,表示n个数(10<=n<=10000) 第二行n个整数,数值之间用一个空格分隔(1<=a(i)<=n) |
输出: | 最长不下降子序列的长度 |
样例输入: | 3 1 2 3 |
样例输出: | 3 |
提示: | |
来源: | 动态规划 |
解答: | 动态规划 |