记忆化搜索, Memoizatoin,是一种保留已搜索过的状态的搜索。
记忆化搜索利用自顶向下的思路:
全局解未知 -> 搜索最优的子解 -> 搜索最优的子解的子解 ->....... -> 底层
其中“搜索最优的子解” 的步骤是相同的
做动态规划题时,把自己带入到最底层的结构里,然后思考 ”接下来可以做什么使我最大” 以及 “我是从哪里来的”
如何写:
1. 写出普通dfs
2. 写出状态和状态转移方程
3. 加入memo 数组
如何理解题解:
1. 手动模拟, 从一个允许的状态开始
P1434 [SHOI2002] 滑雪
dp( r, c ) - 以 r行c列 开始的最长滑雪路径
dp(