动态规划五步曲

一、什么是动态规划五步曲

确定dp数组(dp table)以及下标的含义
确定递推公式
dp数组如何初始化
确定遍历顺序
举例推导dp数组

二、 个人赏析

这是我从某网站上看到的关于动态规划的教学系列。作为应试来说,这个 提纲确实不错,能让应试者掌握基础题目的解法,可是遇到一些拓展题目了,这五步曲的第一步能走通吗?
归根结底,第一步确定dp数组以及下标的含义,怎么确定?
(1)根据记忆搜索
(2)根据题目性质推敲

根据记忆搜索就是回想以前用过的dp数组的含义,看能否套在这个题目上,这是一种遍历已知方法的方式。只能解决有限种dp问题。

第二种,根据题目性质推导。怎么推导?这才是动态规划的难点所在。要深刻理解动态规划的含义:交叠子问题可以重复利用。

将问题拆解为几个问题求解,这几个小问题在求解过程中,又利用到了重复求解的答案(比如问题A拆分成BDC,而B用到D、C,那么我们可以存储DC的答案)。利用空间换时间的特性,开辟数组存储子问题的答案而不必重复求解,这才是动态规划的精髓所在。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值