动态规划
动态规划是什么
动态规划:是一种最优化原理,把源问题分解为若干个子问题,自底向下逐步解决小问题
视频一:
- 暴力穷举,画出树图
- 记忆化搜索,查表剪枝
- 将递归改写成迭代
视频二:
讲解的比较系统完善:
首先解决什么问题能够让我们去使用动态规划来完成最优解
那些问题可以用动态规划
满足以下三个条件:
- 最优子结构:源问题的最优解包含着同样的子问题的最优解
- 子问题重叠:同样的问题在之前已经计算过或者解决过了
- 无后效性:与之前的子问题有关,但跟后面的问题无关。从画出来的图表现出来就是单向图,从前指向后
解题步骤
- 先确定状态: 与最终题目的解有关
- 再确定阶段:阶段主要从画出来的图看出来
- 确定决策:即确定状态转移方程 怎么找:针对前一个节点是怎么样的
以上的是大框架:
然后还有小细节:
4. 初始化:根据题意确定
5. 最终求解目标到底是什么
有7大问题:
学习建议是见多识广,每个类型都要做部分题。
本文来自博客园,作者:快乐过了阈值,转载请注明原文链接:https://www.cnblogs.com/black-worrior-2000/p/16513736.html
墨愁前路无知己,天下谁人不识君。
浙公网安备 33010602011771号