一动态规划
DP(Dynamic Programming)定义:
动态规划是分治思想,大事化小,小事化了的思想。
动态规划的特点:
- 把原来的问题分解成相似的几个子问题。
- 所有的子问题都只需要解决一次。
- 存储子问题的解。
四要素:
- 状态定义
- 状态间的转移方程定义
- 状态的初始化
- 返回结果
状态定义的要求:定义的状态一定要形成递推的关系。
本质:
- 对问题状态的定义
- 对问题状态转移方程的定义
三特点四要素俩本质
适用场景
最大值、最小值、可不可行、是不是、方案个数
二、案例
1斐波那契数列
输出斐波那契数列第n项
- 状态定义 F(i):第i项的值
- 状态间的转移方程定义 : F(i) = F(i - 1) + F(i - 2)
- 状态的初始化 :F(0) = 0; F(1) = 1
- 返回结果 : F(n)