- 本文作者: lemon
- 本文链接: https://lemon2013.github.io/2017/05/31/dynamic-programming/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
动态规划简介(算法导论)
动态规划方法通常用来求解最优化问题。这类问题可以有很多可行解,每个解都有一个值,我们希望寻找具有最优值(最小值或最大值)的解。我们称这样的解为问题的一个最优解,但是不是唯一的最优解,因为可能有多个解都能达到最优值。
我们通常按如下4个步骤来设计一个动态规划算法:
- 刻画一个最优解的结构特征。
- 递归地定义最优解的值。
- 计算最优解的值,通常采用自底向上的方法。
- 利用计算出的信息构造一个最优解。
钢条切割
问题描述
给定一段长度为 nn 英寸的钢条和一个价格表 pi(i=1,2,…,n)pi(i=1,2,…,n), 求切割钢条方案,使得销售收益 rnrn 最大。
长度 ii | 1 | 2 | 3 | 4 | 5</ |
---|