2019/3/17训练日记 DP思想小结

最近是刷的dp专题,其下划分的种类确实挺多的,背包、区间dp、状压dp、概率dp、树形dp、数位dp、插头dp、优化dp、和字符串结合的dp...最近做的都是一些简单的dp,这些都不重要,重要的是锻炼dp的这种思想

dp的基本思想是什么?把求解的问题划分成多个子问题,然后按顺序求解各子问题,前一子问题的求解为后一子问题的求解提供了重要的信息,后一子问题需要根据某种决策来选取前一子问题的解以便解出自身的问题,从这些子问题的解得到原问题的解。

我们就是通过这种思想去推的动态转移方程,这几天练的也就是这个,可以总结成两个要素:
最优子结构和重复子问题

我们可以更加深入的去理解DP的两个要素。何时需要动态规划,主要也是考察问题是否具备这两个要素,

现在分析一下这两个要素:

  I、最优子结构

  这是动态规划求解最优解的第一步。最优子结构性质是:一个问题的最优解包含其子问题的最优解。发掘最优子结构性质的过程,遵循如下模式:

  1、证明问题最优解的第一个组成部分是做出一个选择。如,选择钢条第一次切割的位置,第一次选择矩阵链的划分位置等。做出这次选择会产生一个或者多个待解的子问题。

  2、对于一个给定问题,在其可能的第一步选择中,你假,定已经知道哪种选择才会得到最优解。现在无需关心这种选择是如何得到的,只是假定已经知道了这种选择。

  3、给定可获得最优解选择后,确定这次选择会产生哪些子问题,以及如何更好地刻画子空间。一个刻画子问题空间的经验是:保持子问题空间尽可能简单,只在必要时才扩展它。

  4、

  对于不同的问题,最优子结构体现在两个方面:

  1、原问题的最优解涉及多少个子问题

  2、在确定最优解使用哪些子问题时,我们需要考察多少种选择。

  II、重叠子问题

  适合动态规划方法求解最优解的问题应该具备:子问题的空间必须足够“小”,即问题的递归算法会反复地求解相同的子问题,而不是一直生成新的子问题。重叠子问题性质:递归算法反复求解相同的子问题。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值