李超线段树入门

李超线段树用于维护一些单调上升序列。
问题:给定一些线段,多次询问对于一个x,在其上的所有线段中在这个位置的最高的y坐标。
对于线段树的每个结点,维护一条线段表示这个区间的“最优线段”。
插入一条线段时,更新其所对应的所有结点。求出这个节点的最优线段与当前插入线段的交点,将交点与边界的距离较大的在上面的线段作为新的最优线段,然后用不是最优线段的线段去递归更新较小的那边结点。区间对应结点有\(log(n)\)个,每次更新\(log(n)\)次,因此插入复杂度为\(O(log^2(n))\)
询问时将区间对应结点取最优即可。复杂度\(O(log(n))\)

posted @ 2018-09-14 22:33  Utoрia  阅读(127)  评论(0编辑  收藏  举报