比较高级的线段树

一、动态开点线段树

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

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

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

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

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

First:

 

  主席树的来源:

 

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

 

Second:

 

  主席树的作用:

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

Third:

  主席树的思想:

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

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

 

 

posted @ 2017-12-31 21:59  Accelerator-D-x  阅读(160)  评论(3编辑  收藏  举报