最长上升子序列
题目描述
这是一个简单的动规板子题。
给出一个由 n(n≤5000)n(n\le 5000)n(n≤5000) 个不超过 10610^6106 的正整数组成的序列。请输出这个序列的最长上升子序列的长度。
最长上升子序列是指,从原序列中按顺序取出一些数字排在一起,这些数字是逐渐增大的。
输入格式
第一行,一个整数 nnn,表示序列长度。
第二行有 nnn 个整数,表示这个序列。
输出格式
一个整数表示答案。
样例 #1
样例输入 #1
6
1 2 4 1 3 4
样例输出 #1
4
提示
分别取出 111、222、333、444 即可。
题意
给出一个由 n(n≤5000)n(n\le 5000)n(n≤5000) 个不超过 10610^6106 的正整数组成的序列。请输出这个序列的最长上升子序列的长度。
正解
动态规划(DP)。
动态规划分为三部分:
一、确定状态:确定 dp 数组里装的是什么,像这道题要求最长上升子序列的长度,dpidp_idpi

最低0.47元/天 解锁文章
914

被折叠的 条评论
为什么被折叠?



