可持久化线段树讲解
它可以记录线段树历史状态,对历史状态进行查询。
又名主席树。
因为线段树是从叶节点往上修改,而这个过程中只有修改一些节点,所以,别的节点可以不动。
可持久化线段树就是只对修改过的节点进行复制。别的节点保留不动。这样空间就不会炸。
如果复制一整棵树的话,空间复杂度是 O ( n ∗ m ) O(n*m) O(n∗m)。
图解:
图是我自己画的,可能丑了点。
红色表示原来的树的部分,黄色是第一次修改,蓝色是第二次修改。可以发现,蓝色是在黄色的基础上进行修改的。
这样子的好处就是空间的优化。
其余操作与线段树一样。
---------------------------以上内容摘自本人的CSDN博客
例题代码: 结合图就非常容易理解了,对吧。
名称由来
有一个人,他叫做 黄嘉泰 ,他发明了可持久化线段树。
他的姓名拼音:hjt
而某位伟大的提倡科学强国的主席先生的姓名拼音:hjt
所以,主席树来了。
总有些人说是因为持久才叫做主席树…
谢谢阅读。