李超线段树

维护区间线段/直线。分别为 \(O(\log^2 n),O(\log n)\)

维护线段要劣些是因为要分成 \(\log n\) 个线段树区间分别处理。

如何维护?现在假设维护 \(x=k\) 时函数值的 max。假设现在是一个被新加入线段 \(u\) 完全覆盖的区间 \([l,r]\)。当前区间也有一个老线段 \(v\),以中点 \(mid\) 的函数值为依据,分为三类:

  • \(u(mid)>v(mid)\):考虑交换 \(u,v\),剩下的情况就是 \(u\) 在中点不如 \(v\) 优的情况了。
  • \(u(mid)\le v(mid)\):这样 \(u\) 能更新答案的区间就仅在一边,往端点(\(l/r\))函数值大于 \(v\) 的方向递归下传即可。

没了。注意精度。

posted @ 2024-11-26 10:16  view3937  阅读(10)  评论(0)    收藏  举报
Title