Problem5546--T2: 单调递增最长子序列(lis)

5546: T2: 单调递增最长子序列(lis)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

有 $n$ 个不相同的整数组成的数列,记为: $a_1,\ a_2,\ \cdots,\ a_n$,例如:$3,\ 18,\ 7,\ 14,\ 10,\ 12,\ 23,\ 41,\ 16,\ 24$。 上例中挑出:$3,\ 18,\ 23,\ 24$ 就是一个长度为 $4$ 的上升序列。如果挑出:$3,\ 7,\ 10,\ 12,\ 16,\ 24$ 长度为 $6$ 的上升序列。
求出最长的上升序列的长度。

Input

第一行一个整数 $n\ (1\leq n \leq 1000)$。
第二行为 $n$ 个空格隔开的整数。

Output

最长上升子序列的长度。

Constraints

$10\%$ 数据,如样例所述;
数据点 $2$ 中,输入的 $20$ 个整数严格上升;
数据点 $3$ 中,输入的 $20$ 个整数严格下降;
数据点 $4$ 中,输入的 $1000$ 个整数相等;
数据点 $5$ 中,$n\leq 10$;
数据点 $6$~$10$ 无特殊限制,$1 \leq n \leq 1000$。

Sample 1 Input

10
3 18 7 14 10 12 23 41 16 24

Sample 1 Output

6

Source/Category

基础算法 4.120.动态规划