
可持久化数据结构
KsCla
这个作者很懒,什么都没留下…
展开
-
关于可持久化并查集的学习和思考
鉴于noip比赛前集训时SAKER前辈教了我这个蒟蒻可持久化线段树以来,我懂得了如何维护一个支持历史查询的线段树。于是我就开始异想天开了:可不可以快速维护一个支持历史查询的数组呢?就在这时,我上网看到了一个新的算法:可持久化并查集。先用例题来讲吧:BZOJ3674:可持久化并查集加强版Description:自从zkysb出了可持久化并查集后……hzwer:乱写能AC,暴力踩标原创 2016-12-12 19:55:15 · 8146 阅读 · 4 评论 -
BZOJ4771:七彩树 (LCA+Treap+可持久化线段树)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4771题目分析:一道很妙的题。先简化问题:假设没有深度限制,问题就变成了一棵子树中本质不同的颜色个数。只要将DFS序搞出来,就变成了一段区间中不同的数的个数,这个直接用可持久化线段树就可以解决了。有深度限制怎么办呢?我们可不可以按深度顺序将这些点加入主席树呢?答案是不可以的。因为以深度为顺序原创 2017-10-16 14:11:33 · 1130 阅读 · 0 评论 -
BZOJ3514:Codechef MARCH14 GERALD07加强版 (LCT+可持久化线段树)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3514题目分析:又是一道动态树好题。拿到题面两天之后我都没想出来,结果期末考地理的时候,我做完题无聊在草稿纸上画了画,居然立马知道怎么做了…… 因为我是搜LCT练习题的时候见到这题的,所以我知道肯定要用LCT,但LCT之后要怎么做我就不知道了。我发现这题和NOI2014魔法森林很像,都是先原创 2017-07-06 21:10:26 · 1087 阅读 · 0 评论 -
洛谷P1972:[SDOI2009]HH的项链(莫队/线段树)
题目传送门:https://www.luogu.org/problem/show?pid=1972分析:本题有很多种做法,有O(n*log(n))的线段树,也有O(n*sqrt(n))的莫队。线段树的做法:http://blog.youkuaiyun.com/kscla/article/details/70227098下面贴一下莫队的代码(其实就是个暴力,注意每一次要先让R指针右移,再移动L指针,原创 2017-04-18 13:41:55 · 1484 阅读 · 0 评论 -
hdu5919:Sequence II(可持久化线段树)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5919题目大意:给出一个拥有不超过2*10^5个元素的序列,再给出2*10^5个询问,对于每一个询问[L,R],我们假设区间内有k个不同的数,他们在这个区间内第一次出现的位置分别为p1,p2,p3……pk,排序后输出第(k/2向上取整)个数。本题采用强制在线。如原序列为:1 1 2 3 3,询原创 2017-04-18 13:16:41 · 1229 阅读 · 0 评论 -
hdu4348:To the moon(可持久化线段树)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4348题目大意:一开始给你一个序列,并令时间戳为1。现在有4种操作:C l r d:将当前序列的[l,r]全部+d,并令时间戳+1;Q l r:查询当前序列[l,r]的和;H l r t查询t时刻序列[l,r]的和;B t:将时间戳设为t。分析:考虑到维护历史版本以及区间操作,我们考虑带懒惰标原创 2017-04-18 12:35:54 · 915 阅读 · 0 评论 -
bzoj3932:任务查询系统(可持久化线段树)
3932: [CQOI2015]任务查询系统Time Limit: 20 Sec MemoryLimit: 512 MBDescription最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优原创 2017-01-26 15:51:53 · 620 阅读 · 0 评论 -
bzoj2809:dispatching(可持久化线段树+树上差分)
2809: [Apio2012]dispatchingTime Limit: 10 Sec MemoryLimit: 128 MBDescription在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总原创 2017-01-25 14:33:36 · 507 阅读 · 0 评论 -
bzoj2588:Count on a tree(可持久化线段树+Lca)
2588: Spoj 10628. Count on a treeTime Limit: 12Sec Memory Limit: 128 MBSubmit: 5524 Solved: 1306Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的原创 2017-01-23 20:50:56 · 727 阅读 · 0 评论 -
BZOJ4556:[Tjoi2016&Heoi2016]字符串 (后缀自动机+树上倍增+二分答案+线段树合并)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4556题目分析:我发现我对线段树合并一无所知QAQ。先讲一种简单的做法:我们可以将后缀数组建出来,对于每个询问二分一个答案mid。然后从Rank[c]往上下两个方向跳,找到一个区间[L,R],使得这个区间的后缀和c开头的后缀的LCP大于等于mid。那么如果sa[L]~sa[R]中有落在[a,原创 2017-11-24 16:39:40 · 707 阅读 · 0 评论