动态规划总结

原创 2016年05月31日 21:50:42

1.动态规划是什么:

动态规划是解决多阶段决策问题的一种方法。

2.动态规划的思想是:

在做每一步决策时,列出各种可能的局部解
依据某种判定条件,舍弃那些肯定不能得到最优解的局部解。
以每一步都是最优的来保证全局是最优的。

3.动态规划问题的一般解题步骤:

判断问题是否具有最优子结构性质,若不具备则不能用动态规划。

把问题分成若干个子问题(分阶段)。
建立状态转移方程(递推公式)。
找出边界条件。
将已知边界值带入方程。
递推求解

4.动态规划(01背包)

题目: 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。
基本思路: 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放

f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是: f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}

5。动态规划(区间dp)

题目:有一根长度为L的木棍,木棍上面有M个切割点,每一次切割都要付出当前木棍长度的代价,问怎样切割有最小代价
分析: 区间动态规划问题一般都是考虑,对于每段区间,他们的最优值都是由几段更小区间的最优值得到。将一个区间问题不断划分为更小的区间直至一个元素组成的区间,枚举他们的组合,求合并后的最优值。设F[i,j](1<=i<=j<=n)表示区间[i,j]内的数字相加的最小代价 , 最小区间F[i,i]=0(一个数字无法合并,∴代价为0)每次用变量k(i<=k<=j-1)将区间分为[i,k]和[k+1,j]两段


版权声明:本文为博主原创文章,未经博主允许不得转载。

动态规划总结与思考

这是一篇关于动态规划的思考文章,主要讲了我对动态规划的一些思考与总结。...
  • qiuzhijieluojianping
  • qiuzhijieluojianping
  • 2015年01月01日 10:57
  • 774

动态规划总结——经典问题总结

动态规划总结——经典问题总结 本文着重讨论状态是如何表示,以及方程是怎样表示的。当然,还附上关键的,有可能作为模板的代码段。但有的代码的实现是优化版的。 经典问题总结 最长上升子序列(LIS) 问题描...
  • qfikh
  • qfikh
  • 2016年07月19日 13:08
  • 2753

动态规划思想总结

一、dp的思想及实现方法:   动态规划是求解决策过程最优的数学方法,它的核心思想是把多阶段过程转化为一系列单阶段的问题,利用各阶段之间的关系,逐个求解。 二、动态规划大的分类: (1)线性动规...
  • small__snail__5
  • small__snail__5
  • 2016年07月30日 17:00
  • 384

LeetCode总结,动态规划问题小结

一,参考一般书籍中的“动态规划”讲解 1、基本概念 动态规划(Dynamic Programming)对于子问题重叠的情况特别有效,因为它将子问题的解保存在表格中,当需要某个子问题的解时,直接取值即...
  • EbowTang
  • EbowTang
  • 2016年03月04日 23:50
  • 5607

动态规划总结【模板】

最长递增子序列 最大连续子序列和 最大连续子矩阵和 最大M个连续子段的和 最大不连续子序列和 最长公共子序列 最长回文子序列 最长回文子串 最小编辑距离 01背包 完全背包 多重背包 二维费用背包 切...
  • u011676797
  • u011676797
  • 2015年05月01日 23:49
  • 1930

LintCode动态规划题总结

不知道什么是动态规划的,传送门在这儿:[干货]动态规划十问十答 动态规划进阶:动态规划:从新手到专家 相信看完上面两个链接的博客后,应该对于动态规划有一个新的认识和了解了。接下来就来看看LintCod...
  • luoshengkim
  • luoshengkim
  • 2016年08月13日 23:45
  • 1136

动态规划小结——背包问题

背包问题是动态规划的经典问题,因此,有必要弄清跟背包问题的所有分析过程并熟练掌握各种类型的代码 一,完全背包问题 1.问题描述:有n种物品,每种物品有无限多个,第i个物品重量是wi,价值是vi,从这些...
  • u014800748
  • u014800748
  • 2015年02月12日 12:24
  • 668

动态规划题目总结

题目1: 输出描述: 对于每组数据,输出一个整数,代表最长递增子序列的长度(不需要连续)。 输入例子: 2 7 89 256 78 1 46 78 8 5 6 4 8 2 17 ...
  • basycia
  • basycia
  • 2016年08月04日 11:03
  • 514

动态规划——算法总结(三)

动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子...
  • lu930124
  • lu930124
  • 2015年06月19日 15:14
  • 993

LeetCode总结 -- 一维动态规划篇

这篇文章的主题是动态规划, 主要介绍LeetCode中一维动态规划的题目, 列表如下: Climbing StairsDecode WaysUnique Binary Search TreesMaxi...
  • linhuanmars
  • linhuanmars
  • 2014年08月10日 11:16
  • 22060
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态规划总结
举报原因:
原因补充:

(最多只允许输入30个字)