首页 > 其他分享 >李超树

李超树

时间:2023-08-09 16:11:52浏览次数:29  
标签:log 复杂度 区间 最优 线段 李超树

李超数支持动态插入线段/直线,查询单点极值。

算法思想

排除不可能成为最优解的,维护在当前区间能成为最优解的线段,即该线段在当前区间的某个取值上有最优解。

查询的时间复杂度是 \(O(\log n)\) 的,修改时通过替换和下放,也能达到 \(O(\log n)\) 的复杂度,区间修改能达到 \(O(\log^2 n)\),(证明:最多把每条直线的值域分到 \(\log n\) 个区间,每个区间最多把标记下传 \(\log n\)层,所以区间修改的复杂度为 \(O(\log ^2 n\))。

未完待续。

标签:log,复杂度,区间,最优,线段,李超树
From: https://www.cnblogs.com/XYini/p/17617093.html

相关文章

  • luogu P4069 [SDOI2016] 游戏 题解【李超树+树剖】
    目录题目描述解题思路code题目描述P4069[SDOI2016]游戏一棵树,树上有\(n\)个节点,最初每个节点上有\(1\)个数字:\(123456789123456789\)。有两种操作:\(\centerdot\)选择\(s,t\)两个节点,将路径上的每一个点都变多(\(1\)个变\(2\)个)数字:\(a\timesdis+b\),其中\(dis\)表示该节点......
  • 李超树浅谈
    李超树是一个可以多个分段一次函数,并取某个端点上所有一次分段函数的最值。基本李超树需要维护两个操作:在\([l,r]\)加入一条线段。询问在\(k\)处的最值。李超树中,每个节点我们存储的函数编号为在这个节点代表区间中点取得最值的函数编号。插入时,我们首先向线段树一样找......
  • 【题解】[HEOI2013]Segment(李超树)
    [HEOI2013]Segment题目分析:是李超线段树的板子题,在这里就稍微提一嘴李超线段树吧。其实李超线段树就是用来解决插入线段,查询\(x=k\)时纵坐标的最大值的。对于李超线......
  • CDQ 分治,李超树与斜率优化
    P4027,及一类类似问题:给定\(a_i,b_i,x_i,y_i\),对于每个\(i\)求出\(f_i=\max\limits_{j=1}^{i}\{a_ix_j+b_iy_j\}\)先说一下一类经典问题的做法:给定\(n\)个二......
  • 李超树(斜率优化无脑DS)
    如果我们需要一个数据结构来维护多个线段在一个点上的最值,那我们就可以使用李超树来完成这个事情。李超树的每个区间记录的是中点值最大的一条线段。如何做到呢?1、插入s......