线性规划(DP)学习(1)

线性规划(DP)
加粗样式
参考博客:https://blog.csdn.net/eagle_or_snail/article/details/50987044
https://blog.csdn.net/qq_40778406/article/details/80581238

DP问题三大性质:

最优子结构: 如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理)。最优子结构性质为动态规划算法解决问题提供了重要线索。
重叠子问题: 子问题重叠性质是指在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不总是新问题,有些子问题会被重复计算多次。动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是在表格中简单地查看一下结果,从而获得较高的效率。
无后效性: 将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的一个完整总结。这就是无后向性,又称为无后效性。——转移公式只告诉你有1~i 这些物品,且限制背包容量为j时候的最优解,i之后的物品对这个公式而言不存在。

DP最最最重要的有两点:
① 画表
② 根据画好的表推导状态转移方程

你可能感兴趣的:(剑指offer笔记,DP)