动态规划要点
动态规划就是为了避免多次重复的计算,也就是保留历史数据,这个历史记录的数据格式可以使用一维或者二维的数组进行保存。
动态规划分为以下三步:
一、定义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
感谢这位博主浅显易懂的归纳!
标签:
动态规划
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律