记忆化搜索 = 暴力dfs + 记录答案
动态规划入门思路: dfs暴力 --> 记忆化搜索 --> 递推DP(动态规划是递推的特例)
1dfs > 2记忆化搜索 > 3逆序递推 > 4顺序递推 > 5优化空间 !
递归的过程:
“递” 的过程是: 分解子问题的过程;
“归” 的过程才是: 产生答案的过程;
“递” —> 自顶向下, “归” —> 自底向上
其中 “底” 是递归搜索树的底
写出递推公式的方法:
递推的公式 = dfs 向下 递归 的公式
递推 数组的初始值 = **递归 **的边界
动态规划的三种题型
最值型—动态规划详解
1.确定状态
从最后一步切入,构造最优子问题,原问题 = 最优子问题 + 最后一步(最后一部可能有多种可能)
2.状态转移方程
根据刚刚的原问题 = 最优子问题 + 最后一步(最后一部可能有多种可能)
,定义状态,构建状态转移方程
3.初始条件和边界情况
根据状态转移方程
,定义初始条件和边界情况
4.计算顺序
一般都是正序