动态规划的特点
- 重叠子问题
- 状态转移方程(最关键)
- 最优子结构
- 核心:穷举
- 题型:求最值
解题套路
- 明确状态
- 明确选择
- 明确dp函数/数组的定义
- 明确base case
动态规划解法代码框架
#初始化base case
dp[0][0][...]=base
#进行状态转移
for 状态1 in 状态1所有值
for 状态2 in 状态2所有值
for 。。。
dp[状态1][状态2][...]=求最值(选择1,选择2...)
动态规划的特点
解题套路
动态规划解法代码框架
#初始化base case
dp[0][0][...]=base
#进行状态转移
for 状态1 in 状态1所有值
for 状态2 in 状态2所有值
for 。。。
dp[状态1][状态2][...]=求最值(选择1,选择2...)