4282: §2 9 最长上升子序列(LIS)
[Creator : ]
Description
一个数的序列 $b_i$,当 $b_1<b_2<...<b_S$ 的时候,我们称这个序列是上升的。
对于给定的一个序列 $\{a_1, a_2, ...,a_N\}$,我们可以得到一些上升的子序列 $\{a_{i1}, a_{i2}, ..., a_{iK}\}$,这里 $1≤i_1<i_2<...<i_K≤N$。比如,对于序列 $\{1,7,3,5,9,4,8\}$,有它的一些上升子序列,如 $\{1,7\}, \{3,4,8\}$ 等等。这些子序列中最长的长度是 $4$,比如子序列 $\{1,3,5,8\}$。
你的任务,就是对于给定的序列,求出最长上升子序列的长度。
对于给定的一个序列 $\{a_1, a_2, ...,a_N\}$,我们可以得到一些上升的子序列 $\{a_{i1}, a_{i2}, ..., a_{iK}\}$,这里 $1≤i_1<i_2<...<i_K≤N$。比如,对于序列 $\{1,7,3,5,9,4,8\}$,有它的一些上升子序列,如 $\{1,7\}, \{3,4,8\}$ 等等。这些子序列中最长的长度是 $4$,比如子序列 $\{1,3,5,8\}$。
你的任务,就是对于给定的序列,求出最长上升子序列的长度。
Input
输入的第一行是序列的长度 $N(1≤N≤1000)$。
第二行给出序列中的 $N$ 个整数,这些整数的取值范围都在 $0$ 到 $10000$。
第二行给出序列中的 $N$ 个整数,这些整数的取值范围都在 $0$ 到 $10000$。
Output
最长上升子序列的长度。
Sample 1 Input
7
1 7 3 5 9 4 8
Sample 1 Output
4
Sample 2 Input
6
0 1 0 3 2 3
Sample 2 Output
4
Sample 3 Input
6
7 7 7 7 7 7
Sample 3 Output
1