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