动态规划(dynamic programming)与分治算法相似,都是通过组合子问题的解来求解原问题。区别在于,分治算法是将原问题划分为互不相交的子问题,递归求解子问题,再把它们的解组合起来,求出原问题的解;动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子问题(子问题的求解是递归进行的,将其划分为更小的子子问题),在这种情况下,分治算法会反复求解那些公共的子问题,而动态规划算法对每个子子问...
分类:
其他好文 时间:
2016-05-12 20:27:30
阅读次数:
140
突然发现,钢条切割竟然没有写。假设公司出售一段长度为i英寸的钢条的价格为Pi(i = 1, 2, ...单位:美元),下面给出了价格表样例:长度i 1 2 3 4 5 6 7 8 9 10价格Pi 1 5 8 9 10 17 17 20 24 30切割钢条的问题是这样的:给定一段长度为...
分类:
其他好文 时间:
2015-11-22 17:14:02
阅读次数:
194
钢条切割问题:给定一段长度为n英寸的钢条和一个价格表pi(i=1,2,...,n)求切割钢条方案,使得销售收益rn最大。 注意,如果长度为n英寸的钢条的价格pn足够大,最优解可能就是完全不需要切割。 思路:先将钢条切成两条,有n-1种方案,每一种方案的最优解都等于两个子钢条的最优解。我们从...
分类:
其他好文 时间:
2015-10-13 17:16:23
阅读次数:
253
算法导论第15章:假设公司出售一段长度为i英寸的钢条的价格为Pi(i = 1, 2, ...单位:美元),下面给出了价格表样例:长度i 1 2 34 5 6 7 8 9 10价格Pi 1 5 89 10 17 17 20 24 30切割钢条的问题是这样的:给定一段长...
分类:
其他好文 时间:
2015-08-12 21:21:41
阅读次数:
117
#includeusing namespace std;/*钢条切割:给定长度为1,2,3,4......10的价格pi算出给定一个长度为n的钢条怎样切割使其出售所得利润最大。*/int p[]={0,1,5,8,9,10,17,17,20,24,30};int r[100],s[100]; /.....
分类:
编程语言 时间:
2015-08-08 11:58:29
阅读次数:
125
#include#includeusing namespace std;/*给出长度为i的钢条对应的出售价格为pi,问题:给定一段长度为n的钢条怎么切才会使收益最大;技巧:对于大量重复的子问题,我们采取记忆化,这样相比于之前大大节省了时间*/int p[100]={0,1,5,8,10,13,17,...
分类:
其他好文 时间:
2015-08-03 20:54:51
阅读次数:
160
钢条切割问题的两种解法#ifndef IRON_CUT_PRB_H#define IRON_CUT_RPB_H#include int ironCutPrb(int *ironPrice,int Length); //这个是基于递规逄法的int ironCutPrb_optimize(int *ir...
分类:
其他好文 时间:
2015-07-17 20:57:42
阅读次数:
115
在动态规划问题中,我们经常会遇到以下问题,最优解倒是求出来了,但是最优解的路径呢?如何输出?这确实是一个问题,而且往往比较难哟。。我这里说的路径是指,像在钢条切割问题中,从哪些地方切可以达到最优化,在矩阵链乘问题中,从哪些地方进行组合可以使效率最高?在钢条切割问题中:for(j=1;jprice){...
分类:
其他好文 时间:
2015-07-17 20:40:31
阅读次数:
185
本文给出了动态规划的简要定义、适用场景、算法实现。并给出了四种经典动态规划:钢条切割求最大收益问题、矩阵链相乘求最小乘法次数问题、最长公共子序列问题、求最小的搜索代价的最优二叉搜索树的c++代码实现。定义
性质 适用条件
算法实现过程首先观察问题是否满足最优子结构性质
写出递归等式递归的定义子问题的最优解
求解子问题的最优解
构造最优解
四个经典问题的cpp实现
1 钢条切割
2 矩阵链相乘
3...
分类:
编程语言 时间:
2015-06-22 11:07:25
阅读次数:
205
正式应用动态规划。
适用于动态规划解决的问题应拥有以下两个要素:
1. 最优子结构(最佳选择)
2.子问题重叠(最终的最优解的每个分部步骤,都是当前最优的子解。与贪心算法试图通过局部最优解来组合成最优解的思想相似)
下面第一版代码中,依旧存在与上一篇第一版代码相同的问题——只能求解p数组中给出的最大限度。N>=10,代码就不能够求解出正确答案。(代码中你们都懂的...
分类:
编程语言 时间:
2015-06-08 09:47:46
阅读次数:
361