dp表模型-如何写出for循环动态规划

题目很肤浅。。

但是这件事我们要做。。

那么有一种方法叫做刷表法。。

当你发现这个问题具有最优子结构,重叠子问题时

那么这是一个dp问题是使用本方法的前提

画出该dp状态所对应的矩阵

画出转移关系线。。。找出前置依赖的所有状态

如果我们能找到该表的一个遍历顺序可以使得

每次计算都依赖之前已经计算好的结果计算出来

那么我们就能正确地写出这个dp的递推写法

举个例子。。矩阵链乘法是按dp表对角线转移

而最长公共子序列就正常m*n地for转移

=============

这是解决dp问题的一个典型的dp表模型。。

但是对于背包问题等跳跃性引用表项。。我们需要小心

目前积累的dp模型太少还需要进一步去积累

合并石子与矩阵链乘法类似。。

最长公共子序列。。

==========

我们还有一个工作要做

那就是确定最先应该被确定好的依赖项的值

相当于边界值。。那么我们就要十分清楚状态的语义和数据定义

转载于:https://www.cnblogs.com/linkzijun/p/6216036.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值