题目:
这是一个简单的动规板子题。
给出一个由 n(n≤5000)个不超过 10的6次方 的正整数组成的序列。请输出这个序列的最长上升子序列的长度。
最长上升子序列是指,从原序列中按顺序取出一些数字排在一起,这些数字是逐渐增大的。
思路:
1.整体思路:动态规划
2.具体思路:
a[i]表示第i项的值;p[i]表示以第i项结尾的最长上升子序列的长度。
在处理第i项时,可以进行以下操作。
(1)遍历前i-1项,比较a[i]与a[j]的大小,判断a[i]是否可以加入该序列
(2)更新以a[i]结尾的最长子序列的长度(p[i])
代码展示: