动态规划
文章平均质量分 79
剑西楼
一剑西来
展开
-
LIS(Longest Increasing Subsequence)最长上升(不下降)子序列
有两种算法复杂度为O(n*logn)和O(n^2)O(n^2)算法分析如下: (a[1]...a[n] 存的都是输入的数)1、对于a[n]来说,由于它是最后一个数,所以当从a[n]开始查找时,只存在长度为1的不下降子序列;2、若从a[n-1]开始查找,则存在下面的两种可能性:(1)若a[n-1] (2)若a[n-1] > a[n] 则存在长度为1的不下降子序列 a[n-1]转载 2013-05-08 17:35:07 · 1137 阅读 · 0 评论 -
最长递增子序列问题的求解
最长递增子序列问题是一个很基本、较常见的小问题,但这个问题的求解方法却并不那么显而易见,需要较深入的思考和较好的算法素养才能得出良好的算法。由于这个问题能运用学过的基本的算法分析和设计的方法与思想,能够锻炼设计较复杂算法的思维,我对这个问题进行了较深入的分析思考,得出了几种复杂度不同算法,并给出了分析和证明。一, 最长递增子序列问题的描述设L=a1,a2,…,an>是n个不同的实数的转载 2013-07-29 19:42:06 · 920 阅读 · 0 评论 -
最长有序子序列—动态规划算法
动态规划使用范围:(http://baike.baidu.com/view/28146.htm)任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。同样,动态规划也并不是万能的。适用动态规划的问题必须满足最优化原理和无后效性。 1.最优化原理(最优子结构性质) 最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决转载 2013-07-29 19:56:03 · 1326 阅读 · 0 评论 -
背包问题
0-1 背包问题 (0-1 knapsack problem):每种物品只有一个完全背包问题 (UKP, unbounded knapsack problem):每种物品都有无限个可用多重背包问题 (BKP, bounded knapsack problem):第 i 种物品有 c[i] 个可用其他版本的背包问题请参考“背包问题九讲”,https://github.com/转载 2015-05-01 12:06:34 · 863 阅读 · 0 评论