比较高级的线段树

Posted heqingyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较高级的线段树相关的知识,希望对你有一定的参考价值。

一、动态开点线段树

为什么要搞这样的一个鬼畜线段树?

  1.区间范围过大,但是只会用到一些特定的节点,暴力开会爆内存

  2.要开多棵线段树,考虑会内存爆炸,也只建需要用的节点

 这个线段树的唯一区别就是需要记录下左儿子和右儿子的编号

二、主席树(可持久化线段树)

First:

 

  主席树的来源:

 

  一个名叫主席的神犇发明的数据结构。。。

 

Second:

 

  主席树的作用:

  可以实现查询单调递增的序列的特征值,拥有继承的能力,但是不能支持修改操作。。。

Third:

  主席树的思想:

  适用于区间线段树大部分相同的情况下,由于只有少数节点不同,

  所以可以从前面的线段树继承过来,只需要添加节点

 

 

以上是关于比较高级的线段树的主要内容,如果未能解决你的问题,请参考以下文章

高级数据结构之线段树(Segment Tree)

高级数据结构之线段树(Segment Tree)

算法模板——线段树

论线段树

比较简单的线段树入门

线段树合并