动态规划
文章平均质量分 75
simba228
这个作者很懒,什么都没留下…
展开
-
背包
动态规划是用空间换时间的一种方法的抽象。其关键是发现子问题和记录其结果。然后利用这些结果减轻运算量。比如01背包问题。/* 一个旅行者有一个最多能用M公斤的背包,现在有N件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为P1,P2,...,Pn转载 2011-10-05 14:56:08 · 288 阅读 · 0 评论 -
动态规划解最长公共子序列问题
动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问转载 2011-10-05 14:57:34 · 282 阅读 · 0 评论 -
动态规划--概览
关于动态规划(入门篇)动态规划的启蒙题目题目:Pku 1163 the Triangle http://acm.pku.edu.cn/JudgeOnline/problem?id=1163 HDU 2084 数塔 http://acm.hdu.edu.cn/转载 2011-10-05 14:58:46 · 405 阅读 · 0 评论 -
动态规划解整数划分
算法思路:n = n1 + n2 + n3 + n4 + .... + nk(n1>=n2>=n3>=....>=nk),从大到小排列后,可以避免陷入数值大小排序顺序的困境中。这样,在下面的过程,我们可以并不关心数值大小的排列,只关心组合方案数。状态表示:将最大加数n转载 2011-10-05 14:59:15 · 504 阅读 · 0 评论 -
最长上升子序列 LIS(Longest Increasing Subsequence)
引出:问题描述:给出一个序列a1,a2,a3,a4,a5,a6,a7….an,求它的一个子序列(设为s1,s2,…sn),使得这个子序列满足这样的性质,s1例如有一个序列:1 7 3 5 9 4 8,它的最长上升子序列就是 1 3 4 8 长度为4.转载 2011-10-05 15:00:04 · 407 阅读 · 0 评论