总结DP优化
Posted bobh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结DP优化相关的知识,希望对你有一定的参考价值。
斜率优化
对形如:
[
f_i=min/max {f_j+w_{i,j} }
]
[
更确切地,为形如f_i=min/max_{j<i}{f_j+g_1(i)*g_2(j)+h_1(i)+h_2(j)}
]
[
(关键在于含有关于i,j的函数的乘积g_1(i)*g_2(j))
]
的dp方程可使用斜率优化
移项,得:
[
f_j+h_2(j)=g1(i)*g_2(j)+f_i-h_1(i)
]
(则f_i-h_1(i)可以看做是用斜率为g_1(i)的直线去截坐标系上的点(g_2(j),f_j+h_2(j))\在y轴上得到的截距)
- (若g_1(i)与g_2(j)均单调):
(用单调队列维护对应凸包上的点\ 转移时先从队首删去所有不再可能成为新的转移决策点的点(该转移一定满足决策单调),\ 确定f_i的值后再从队尾删去不在新凸包上的点,两次操作均由比较斜率完成)
- (若不单调若g_1(i),g_2(j)不单调):
(用平衡树+二分或cdq分治维护凸包/完成转移)
wqs二分/凸优化/带权二分
以上是关于总结DP优化的主要内容,如果未能解决你的问题,请参考以下文章