可持久性数组 bzoj3674 可持久化并查集加强版
传送门:点击打开链接
题意: 强制在线操作,定义3种操作,查询两个点是否在同一集合,合并两个点,把状态恢复到之前的某个状态
思路:利用线段树实现的可持久性数组,其实原理上就是线段树,那么是如何实现可持久性数组的呢。
对于某次修改,就再造一颗线段树,但是这样明显效率和空间都会爆炸。
因为我们其实有很多节点都是上一次剩下的,其实我只需要新建新添加的那条链上的节点即可。其他节点只需要直接接在以前
原创
2016-01-03 19:38:24 ·
2103 阅读 ·
0 评论