可持久化线段树讲解

它可以记录线段树历史状态,对历史状态进行查询。

又名主席树。

因为线段树是从叶节点往上修改,而这个过程中只有修改一些节点,所以,别的节点可以不动。

可持久化线段树就是只对修改过的节点进行复制。别的节点保留不动。这样空间就不会炸。

如果复制一整棵树的话,空间复杂度是 O ( n ∗ m ) O(n*m) Onm)

图解:

图是我自己画的,可能丑了点。

可持久化线段树为什么被叫做主席树 附主席树讲解

红色表示原来的树的部分,黄色是第一次修改,蓝色是第二次修改。可以发现,蓝色是在黄色的基础上进行修改的。

这样子的好处就是空间的优化。

其余操作与线段树一样。

---------------------------以上内容摘自本人的CSDN博客

例题代码: 结合图就非常容易理解了,对吧。

鄙人的博客

名称由来

有一个人,他叫做 黄嘉泰 ,他发明了可持久化线段树。

他的姓名拼音:hjt

而某位伟大的提倡科学强国的主席先生的姓名拼音:hjt

所以,主席树来了。

总有些人说是因为持久才叫做主席树…

谢谢阅读。

相关文章: