随笔分类 -  可持久化数据结构:可持久化线段树

摘要:传送门: 解题思路: 题目描述是一大坑点,cancel后面是直接加ask或者redo的。 那么就可以愉快地可持久化了。 注意需要支持区间修改,那么就只需要在再次更新这个点的时候将标记储存在新的儿子中。 最后由下至上询问就好了。 代码: 阅读全文
posted @ 2019-03-02 20:24 Unstoppable728 阅读(250) 评论(0) 推荐(0)
摘要:Description N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。 N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。 Input 第一行四个整数N、M、K、type,代表点数、边数、询问数以及询问是否加密。接下来M行,代表图中的每条边 阅读全文
posted @ 2018-12-13 21:40 Unstoppable728 阅读(403) 评论(0) 推荐(0)
摘要:没什么可说的,就是一个可持久化线段树维护一个数组fa以及deep按秩合并好了 注意一下强制在线 蒟蒻的我搞了好长时间QAQ 贴代码: 阅读全文
posted @ 2018-08-25 21:18 Unstoppable728 阅读(173) 评论(0) 推荐(0)
摘要:出题人说:正解离线按DFS序排序线段维护区间和 但是对于树上每个点都有一个区间和一个值,两个点之间求1~m的区间和,这不就是用可持久化线段树吗。 只不过这个线段树需要区间修改,不过不需要标记下传,询问时加起来就好了。 对于每一个节点x,建一个1~m的线段树版本 询问时,先求出u和v的lca和lca的 阅读全文
posted @ 2018-08-11 00:09 Unstoppable728 阅读(198) 评论(0) 推荐(0)
摘要:只支持单点修改区间查值的可持久化线段树 阅读全文
posted @ 2018-08-11 00:08 Unstoppable728 阅读(162) 评论(0) 推荐(0)