实际上并不是 DP(
然而斜率优化的都算在这个标签里吧(
考虑静态的问题,即不需要动态插入的问题。
对于一个询问 (X,Y),考虑两个决策 i,j,不妨设 yi≥yj。
设 i 比 j 优,则 X⋅xi+Y⋅yi>X⋅xj+Y⋅yjX(xi−xj)>−Y(yi−yj)xi−xjyi−yj>−YX
注意到这是一个斜率的形式,考虑排序后使用单调队列维护上凸包实现斜率优化便可回答询问。
考虑插入和删除。
注意到这是线段树分治的基本操作,套上一层线段树分治即可。
复杂度共 O(nlogn)(在一开始排好序)。
代码:
1 |
|