动态规划要点

动态规划就是为了避免多次重复的计算,也就是保留历史数据,这个历史记录的数据格式可以使用一维或者二维的数组进行保存。
动态规划分为以下三步:
一、定义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 @   Dreamer_szy  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示