【笔记】动态规划基础2
基础知识
动态规划实质
动态规划是图论的子问题
图论中
点-状态 边-转移
最优值-最短路
方案数-路径统计
动态规划的概念
题-场景(有好多种场景)
动态规划三要素:
状态-用来表示在哪一种场景,是描述场景的变量的集合
转移方程-状态之间的关系
初始化
动态规划的三种写法
用别人的状态转移到我
贡献我的状态转移给别人
记忆化搜索
(会存在某些题只能用一种方法)
分析斐波那切数列的记忆化搜索的复杂度
搜索求f[n]时,函数返回值只有1和0
f[n]=0+0+0+…+1+1+1+…
复杂度即为O(f[n])约等于O(2^n)
技巧
-
状态设计
a) 一个变量,一个维度
i. 例:取余数字三角形 -
求方案数时,开一个和原来一样的数组专门存方案
-
改变顺序
a) 滑雪
i. 不再简单地上下左右转移,而是按照海拔排序之后单调转移
b) DAG
i. (所有的我们能遇上的DP都是DAG) -
消除冗余
乌龟棋()[]