不会动态规划的可以看看我博客里动态规划入门一文哦
在这里为了帮助萌新们学习动态规划,调用几篇大佬的好文章
最近在看动态规划的相关内容。过了几道经典的动态规划入门题目,以下是我对动态规划的感悟:
1、动态规划的本质就是递推+记忆化搜索。
递推的思想在动态规划中体现是状态转移方程,就是两个相邻结点的最优情况之间的推导关系。由状态转移方程可以从一个端点推到另外一个端点,再从所有的结点中找出最优解。记忆化搜索就是递推过程中解决了贪心目光短浅的问题,记忆化搜索可以记录下当前结点以前的所有结点的最优解(可以思考下,假如到了一个结点一定就是往这个结点的最优解方向走,因此可以采用记忆化搜索的方式记忆下来)
2、无后效性原则:我们知道,贪心是对面前的选择做出一个选择,选择出当前最诱人的路,这种算法的缺点在于目光短浅,而动态规划则是有点逆推的味道,从终点出发,路过每一个结点都可以求出当前结点到终点的最优解,以后的结点又可以利用这个结点的最优解继续求出最优解,到达终点就求出了答案。
同时,正因为这个原则,我们搜索的时候或者选择算法的时候一定要看看是否在满足无后效性原则。