代码改变世界

随笔档案-2011年10月8日

最长上升子序列

2011-10-08 22:51 by ...平..淡..., 167 阅读, 收藏,
摘要: 纠结了一晚上,总算理解了。。。欣慰~~方法1 1 /* 2 动态规划求解思路分析:O(n^2) 3 4 经典的O(n^2)的动态规划算法,设arr[i]表示序列中的第i个数,dp[i]表示从1到i这一段中以i结尾的最长上升子序列的长度, 5 初始时设dp[i] = 0(i = 1, 2, ...,len(arr))。则有动态规划方程:dp[i] = max{1,dp[j]+1} (j=1, 2, ..., i-1, 且arr[j]<arr[i])。 6 7 */ 8 #include <iostream> 9 using namespace std;10 int arr[10 阅读全文