斜率优化
对形如:
\[
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二分/凸优化/带权二分
原文地址:https://www.cnblogs.com/bobh/p/10353760.html
时间: 2024-11-03 19:03:26