A7934.最长上升子序列

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 nn 的数组 aa,求其最长上升子序列的长度。

子序列:从数组中删除若干元素后,其他元素保持原顺序拼接组成的序列。例如对于数组 [1,2,3,4,5][1,2,3,4,5] 来说,[1,3],[2,3,4],[1,2,3,4,5],[4][1,3], [2,3,4],[1,2,3,4,5], [4] 是它的子序列,[3,2],[1,6],[1,2,2][3,2], [1,6], [1,2,2] 不是它的子序列。

上升 :对于一个长度为 mm 的序列 b1,b2,,bmb_1, b_2, \cdots, b_m ,若对于所有 i[1,m1]i\in [1, m - 1] 都满足 bi<bi+1b_i \lt b_{i+1}, 则称该序列 bb 是上升的。

你的任务,就是对于给定的序列,求出最长上升子序列的长度。

输入格式

输入的第一行是序列的长度N(1N1000)N(1≤N≤1000)。第二行给出序列中的NN个整数,这些整数的取值范围都在001000010000

输出格式

最长上升子序列的长度

输入输出样例

  • 输入#1

    7
    1 7 3 5 9 4 8

    输出#1

    4

说明/提示

样例解释

对于序列(1,7,3,5,9,4,8)(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)(1,7),(3,4,8)等等。这些子序列中最长的长度是44,比如子序列(1,3,5,8)(1,3,5,8)

数据范围

n1000n \leq 1000

首页