随笔分类 - 数据结构--线段树
摘要:李超线段树是什么?在平面直角坐标系中,它支持插入一条线段(直线),询问$x=x_0$时与它相交的线段中$y$的最大(小)值。 它是如何维护的?抽象的说,就是 标记永久化线段树维护区间内从$y=\infty$往下看没有被覆盖的长度最大的直线 标记永久化 是什么?就是不用$pushdown$啦,不懂可以
阅读全文
摘要:标记永久化是线段树的一个技巧,常用于无法(或难以)进行$pushdown$的较复杂的数据结构如主席树,树套树等。 如何做?对每个节点维护$sum$和$add$。 考虑修改,当询问与当前区间重合时,更新$add+=val$,对所有经过的区间$sum+=val\cdot (r l+1)$。 考虑询问,累
阅读全文
摘要:线段树合并说全来就是动态开点权值线段树合并。所以你需要掌握权值线段树的基本知识以及知道什么是动态开点(雾 线段树合并的主要方式如下: 对于两棵线段树都有的节点,新的线段树的该节点值为两者和。 对于某一棵线段树有的节点,新的线段树保存该节点的值。 然后对左右子树递归处理。 不能理解?那就看一下代码。
阅读全文