*BZOJ3165: [Heoi2013]Segment

$n \leq 100000$个点,在$0 \leq x \leq 39989$,$0 \leq y \leq 1e9$的坐标系中,在线进行以下操作:加入一条线段;查询$x=k$这条直线上最上面的线段是谁。

看范围知道是线段树(雾)

区间记录区间的中点处最靠上的线段,这样询问的时候把线段树走到那个点一路上的最高点取个max即可。加入线段时,线段会被区间定位成$log$个区间,每次修改时,如果和当前区间的线段无交点,那直接把这个区间的信息变成这条线段;否则这个区间记录中点靠上的线段,然后用另一条线段递归到对应区间去更新子区间。修改俩log,询问一log。

 

posted @ 2018-04-23 18:57  Blue233333  阅读(119)  评论(0编辑  收藏  举报