步骤:
1.找子问题考虑的方面:
去按照题目说的做一次决策,然后去看主体状态的属性怎么变化
2.状态设计考虑的方面:
缩小原问题的规模,广义化题面给出的变量
区间的左右边界(l,r)
区间本身的属性
对区间最后一次决策
3.状态转移考虑的方面:
枚举边界(枚举k,l<=k<r,注意右边界取不到)
考虑两边转移(多用于对称的区间)
考虑去掉左边界or右边界(取决于最后一步的决策)
4.初始化:
要求最小or最大值时,将dp数组初始化为无穷大or无穷小
按照初始条件的现实意义去初始化数组
环形的处理方式:
例题:(109条消息) 【代码源环形dp】石子合并2_Lamenn的博客-CSDN博客
1.倍增区间,模拟环
2.在两倍的区间内区间dp