动态规划要点

动态规划就是为了避免多次重复的计算,也就是保留历史数据,这个历史记录的数据格式可以使用一维或者二维的数组进行保存。
动态规划分为以下三步:
一、定义dp数组的意义
即明确这个dp数组的各个元素代表的是什么意思

二、找出各数组元素之间的关系式
动态规划,还是有一点类似于我们高中学习时的归纳法的,当我们要计算 dp[n] 时,是可以利用 dp[n-1],dp[n-2]…..dp[1],来推出 dp[n] 的,也就是可以利用历史数据来推出新的元素值,所以我们要找出数组元素之间的关系式,例如 dp[n] = dp[n-1] + dp[n-2],这个就是他们的关系式了。而这一步,也是最难的一步。

三、定义初始值
因为初始值通常是特殊的,并且是有明确规定的,之后的数组元素要根据初始值来推出

动态规划开窍Blog:https://hollis.blog.csdn.net/article/details/103045322
感谢这位博主浅显易懂的归纳!

posted @ 2022-03-12 13:19  Dreamer_szy  阅读(77)  评论(0)    收藏  举报