动态规划求解

9 篇文章 0 订阅
4 篇文章 0 订阅

参考博客
动态规划讲解:
教你彻底学会动态规划——入门篇
教你彻底学会动态规划——进阶篇

以下为对上面大神内容的总结

动规的三种形式

1)记忆递归型

优点:只经过有用的状态,没有浪费。递推型会查看一些 没用的状态,有浪费。

缺点:可能会因递归层数太深导致栈溢出,函数调用带来额外时间开销。总体来说,比递推型慢。

2) “我为人人”递推型

没有什么明显的优势,有时比较符合思考的习惯。个别特殊题目中会比“人人为我”型节省空间。

3)“人人为我”递推型

在选取最优备选状态的值Fm,Fn,…Fy时, 有可能有好的算法或数据结构可以用来显 著降低时间复杂度。

思路:动态规划
动规解题的一般思路

  1. 将原问题分解为子问题
    就是确定dp[i][j] 中的i,j代表着什么
    把原问题分解为若干个子问题,子问题和原问题形式相同或类似,只不过规模变小了。子问题都解决,原问题即解决(数字三角形例)。
    子问题的解一旦求出就会被保存,所以每个子问题只需求 解一次。

2.确定状态
就是确定dp[i][j]的值代表着什么

3.确定一些初始状态(边界状态)的值
就是确定dp[i][j]的一些初始值,一些已知值

4.确定状态转移方程
就是确定递推公式
即如何从一个或多个“值”已知的 “状态”,求出另一个“状态”的“值”(递推型)。状态的迁移可以用递推公式表示,此递推公式也可被称作“状态转移方程”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值