动态规划:经典题目汇总
一、动态规划的定义
动态规划(动态递推):Dynamic Programing
- 找重复性
- 最优子结构
- 数学归纳
关键点:
- 和递归、分治没有根本区别(关键看有没有最优子结构);
- 共性:找到重复子问题;
- 差异性:最优子结构、中途可以淘汰次优解;
动态规划:
- 重复子问题、最优子结构
- 存储中间状态:dp
- 递推公式
二、经典例题
3.1 一维的DP:斐波那契数列、使用最小花费爬楼梯
- 递归
- 记忆化搜索:递归+缓存
- DP:自底向上
3.2 二维的DP:不同路径1、不同路径2、最小路径和
- 分治+记忆化搜索