动态规划思路

Dp问题有多种分类,但是有入手的统一思路:

状态的表示状态计算入手

状态表示

集合 Dp问题,即规划问题的最终解是一种做法(选法),在动态规划时每一种符合条件的可能结果都是一组选择,这些选择的集合就是所有可能状态 考虑问题是哪些状态的集合?有哪些组合方法?有什么条件?

属性 集合有多个属性,最大值最小值数量等,考虑要解决的问题,选定要求的属性 考虑要求的是什么值?是集合的哪种属性

二者就是状态的表示 即 要考虑的是哪个集合的那种属性 例如前i个物品的不同选择里使获得价值最大的那一组就是一个状态的表示 :

状态计算

集合可以怎么分类?分类后要怎么计算要求的属性值? 一般不重不漏

时间复杂度

状态数量 * 处理一个状态所需时间

典型问题

背包问题

线性规划

区间规划

数位dp

状态压缩

树形dp

记忆化搜索

题解

最长上升子序列

编辑距离