U593857 【模板】最长上升子序列
题目背景
:::epigraph[——Ferm_Tawn]
$\mathrm{O}(n \log n) \ \mathrm{only}!$
:::
题目描述
给出一个长度为 $n$ 的数组 $a$ ,求出 $a$ 的最长上升子序列的长度。
::::info[什么是 **最长上升子序列**]{open}
一个子序列 $b_1 , b_2 \dots b_k$ 被称为最长上升子序列当且仅当$b_i > b_{i-1} (2 \le i \le k)$ 且在原数组中是最长的。
::::
输入格式
输入共两行。
第一行一个整数 $n$。
第二行 $n$ 个整数 $a_1,a_2,\dots a_n$。
输出格式
输出共一行。
第一行一个整数 $\mathrm{len}$ ,表示答案。
说明/提示
::cute-table{tuack}
|$\mathrm{Subtask}$| 测试点编号 | $n \leq$ | $a_i \leq$ | 特殊性质 |
|:-:| :-: | :-: | :-: | :-: |
|$0$| $1, 2$ | $20$ | $100$ | 无 |
|$1$| $3$ | $10^3$ | $10^4$ | AB |
|^| $4,5$ | ^ | ^ | 无 |
|$2$| $6 \sim 8$ | $3 \times 10^4$ | ^ | ^ |
|^|$9 \sim 10$|^|$100$|^|
|$3$| $11$ | $2.5 \times 10^5$ | ^ | A |
|^| $12 \sim 14$ | ^ | $10^7$ | B |
|^| $15$ | ^ | ^ | A |
|^| $16 \sim 20$ | ^ | ^ | 无 |
|$4$|$\mathrm{Hack}$|$2 \times 10^6$|^|^|
特殊性质 $\mathrm{A}$ : $a_i$ 在值域内随机生成。
特殊性质 $\mathrm{B}$ : $a_1,a_2,\dots a_n$ 互不相同。