动态规划算法的一般解题思路

原创 2015年11月17日 16:18:05

1. 证明优化子结构

对于问题的优化子结构,给出问题具有优化子结构的解代价,利用反证法,假设上解不是最优的,则存在另外一个解,其解优于上解,这与上解是最优的矛盾,于是该问题具有优化子结构。

证明优化子结构问题主要利用反证法。

2. 证明重复子问题

给出问题的递归公式则重叠子问题鍀证。

3. 递归的定义最优解的代价

给出最有解的代价递归公式,利于代码编写。

4. 自底向上计算最优解的代价

一般利用二维矩阵求解代价,或一行一行计算代价,或按列计算代价,或按照对角线逐级计算代价。

5. 构造最优解

根据最有接的代价矩阵信息,编写函数构造最优解。


【算法笔记】动态规划,三个例题(解题思路与C++代码)

这个笔记参考了《算法导论》第二版和第三版两版里,关于动态规划的基本模型范例:“装配线调度”,“切割钢条”,再加上一个比较简单的ACM入门题“拦截导弹”,来分析一下动态规划的具体内容。 从个...

动态规划问题解题思路和总结

  • 2017年04月12日 14:45
  • 1021KB
  • 下载

树形动态规划的解题思路

  • 2009年10月01日 10:08
  • 51KB
  • 下载

程序员面试金典(动态规划):1分,5分,10分,25分硬币面值组合问题(解题思路)

问题描述: 假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n。例如n=200,那么一种可能的组合方式为 200 = 3 * 1...

动态规划-问题示例与解题思路(采药问题 - nefu19)

题目: 有一个药圃中种了一些药材,采摘不同药材需要不同的时间,可以获得不同的收益,问在给定时间T内,采摘药材可以获得的最高的收益! * 输入: 第一行输入两个整数T和M,分别为给定时间和药材的数量;...
  • QHjust
  • QHjust
  • 2016年05月03日 20:02
  • 224

算法总结(11)--伪递归,dfs,动态规划题,需要转换下思路

需要考虑时间复杂度和空间度,有时递归导致栈的深度太大77. Combinations题目地址https://leetcode.com/problems/combinations/题目描述Given t...

Escape解题报告 - 提前计算对于程序的帮助 - 贪心算法与动态规划

这个世上有那么一种题目,只需要将数据分类就万分简单,只需要几十行的程序就可以解决,随便蒙一下还能拿个三四十分。这种题目,这里就有一道。4.守望者的逃离(escape) 【问题描述】 恶魔猎手尤迫...

【算法学习笔记】23.动态规划 解题报告 SJTU_OJ 1280 整装待发

/* http://acm.sjtu.edu.cn/OnlineJudge/problem/1280 题目的描述比较逗比,核心的数学问题是这样的: 一个数集M(此处集合可以认为元素之间没有互异性...

poj经典动态规划题目解题报告

  • 2008年03月23日 19:09
  • 539KB
  • 下载

51nod 1118 机器人走方格 解题思路:动态规划 & 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题

51nod 1118 机器人走方格: 思路:这是一道简单题,很容易就看出用动态规划扫一遍就可以得到结果,   时间复杂度O(m*n)。运算量1000*1000 = 1000000,很明显不会超时。递...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态规划算法的一般解题思路
举报原因:
原因补充:

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