DP 小结

适用于

动态规划常常适用于有重叠子问题最优子结构性质的问题。

最优子结构性质:问题的最优解所包含的子问题的解也是最优的。

子问题重叠性质:子问题重叠性质是指在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不总是新问题,有些子问题会被重复计算多次。动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存,当再次需要计算已经计算过的子问题时,直接调用。

并且在使用 DP 时一定要保证,问题具有无后效性

即它要求每个子问题的决策不能对后面其他未解决的问题产影响, 如果产生就无法保证决策的最优性, 这就是无后效性。往往需要我们找到一个合适的状态。上述的问题还有另外一个描述方式, 对于后一个节点的判断不能以前面节点的路径为依据。


声明

给出的连接主要是看一下它的代码
自认为很好的题就被标粗,前面加了 辣!并被我放大咯!


树形 DP

树形 DP 和线性的最大区别就是:DP 的顺序是有讲究的,要先 DP 儿子。
如何保证 DP 该点之前子节点已经被 DP 过了呢?
我们可以直接在 DFS 的过程中 DP,DP 时用到了子节点的话就先 DFS 一遍子节点。
【这样特殊在于这种 DFS,不返回一个特定状态值,而是把儿子的所有状态值计算了】
这样就不会出现 DP 顺序的错误辣~(≧▽≦)/~

P.S. 当然也有一类题目的转移是由父亲转移到儿子的,这类题目少见但是经典。

树形 DP 学习笔记

背包 DP

「CodeVS 3269」混合背包 - 背包 DP —— By Menci
背包九讲


区间 DP

书的复制 —— By 小 ly
f[i][j] 表示前 i 个人抄到第 j 本书,以这个为每次区间 DP 的断点。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值