理论基础
无论大家之前对动态规划学到什么程度,一定要先看 我讲的 动态规划理论基础。 如果没做过动态规划的题目,看我讲的理论基础,会有感觉 是不是简单题想复杂了? 其实并没有,我讲的理论基础内容,在动规章节所有题目都有运用,所以很重要! 如果做过动态规划题目的录友,看我的理论基础 就会感同身受了。
文章:
视频:从此再也不怕动态规划了,动态规划解题方法论大曝光 !| 理论基础 |力扣刷题总结| 动态规划入门_哔哩哔哩_bilibili
如果某一问题有很多重叠子问题,使用动态规划是最有效的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。
动态规划问题五步曲:
- 确定dp数组(dp table)以及下标的含义
- 确定递推公式
- dp数组如何初始化
- 确定遍历顺序
- 举例推导dp数组
——递推公式很重要,但是dp数组的初始化以及正确的遍历顺序也很重要。
做动规的题目,写代码之前一定要把状态转移在dp数组的上具体情况模拟一遍,心中有数,确定最后推出的是想要的结果。如果代码没通过就打印dp数组,动态规划debug最好的方式是把dp数组打印出来,看看究竟是不是按照自己思路推导的。
通过不了,就思考这三个问题:
- 这道题目我举例推导状态转移公式了么?

本文介绍了动态规划的基础理论,强调了状态转移的重要性,并通过斐波那契数和爬楼梯问题展示了动规五步曲的应用,包括确定dp数组、递推公式、初始化和遍历顺序。

216

被折叠的 条评论
为什么被折叠?



