P1230 - 最长递增子序列问题LIS

题目描述

在一个给定的数组中,找到一个子序列(不一定连续),使得这个子序列的元素是严格递增的,并且这个子序列要尽可能长,输出该子序列的长度

输入格式

第1行,一个正整数n,代表数组的长度

第2行,n个整数,用空格分隔

输出格式

一个正整数,代表最长递增子序列的长度

输入输出样例 #1

输入 #1

8
10 9 2 5 3 7 101 18

输出 #1

4

输入输出样例 #2

输入 #2

7
1 2 3 -1 -2 7 9

输出 #2

5

说明/提示

$50%$ 的数据满足:$1 \le n \le 10$

$100%$ 的数据满足:$1 \le n \le 10^3$,数组中每个数都在int取值范围内

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:512MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:P1230.in,输出文件名为:P1230.out