前言 主席树可真是个好东西 之前一直都觉得挺难的 今天一看 woc这么简单! 怎么可能,我还是太蒟蒻了 感谢akakw1大佬的指导! 正文: 一.前置知识及算法思路 1.可持久化 因为主席树是可持久化线段树,所以还是有必要了解一下可持久化 可持久化的数据结构是可以支持访问任一历史版本的(也就是每一次 ...
分类:
其他好文 时间:
2018-11-05 22:24:13
阅读次数:
259
前言 不得不说,可持久化数据结构真是太难了! 由于数据结构这东西真的太 玄学 了,学这个主席树我真的学了很久。 简介 主席树为什么叫主席树?据说因为它是一个名字缩写为$HJT$的神犇发明的,与当时主席的名字缩写一样...... 主席树实质上就是一棵 可持久化线段树 ,它的具体实现可以看下面。 让我们 ...
分类:
其他好文 时间:
2018-10-28 16:00:25
阅读次数:
172
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9618 Accepted Submission(s): 4074 Pro ...
分类:
其他好文 时间:
2018-10-18 01:21:25
阅读次数:
149
Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16941 Accepted Submission(s): 5190 Pr ...
分类:
其他好文 时间:
2018-10-17 20:04:31
阅读次数:
147
建一棵答案线段树存栈顶值,两棵可持久化线段树分别存栈顶值和栈顶元素入栈时间 询问就直接在答案线段树上查,弹栈就用入栈时间在对应版本的可持久化线段树上查询即可,修改就是可持久化线段树的区间覆盖 以前一直没写过可持久化线段树的区间覆盖,这里记一下 这题只用单点查询,我们在修改时把对应的区间打上标记并将其 ...
分类:
其他好文 时间:
2018-10-12 13:46:12
阅读次数:
160
P3919 【模板】可持久化数组(可持久化线段树/平衡树) 题目背景 UPDATE : 最后一个点时间空间已经放大 标题即题意 有了可持久化数组,便可以实现很多衍生的可持久化功能(例如:可持久化并查集) 题目描述 如题,你需要维护这样的一个长度为 NN 的数组,支持如下几种操作 在某个历史版本上修改 ...
分类:
编程语言 时间:
2018-10-09 22:18:04
阅读次数:
316
题目链接: IOI2018werewolf 题目中编号都是从0开始,太不舒服了,我们按编号从1开始讲QAQ。 题目大意就是询问每次从一个点开始走只能走编号在[l,n]中的点,在任意点变成狼,之后只能走[0,r]中的点,是否能到达另一个点。 后一部分其实就是找有哪些点只走[0,r]中的点能到达终点,那 ...
分类:
其他好文 时间:
2018-10-07 23:24:12
阅读次数:
203
这道题就是一道模拟题 也没有什么细节 反正蛮好写的 代码 第二题是一个数论题 然后我们都没有弄出来 就先不改了 这道题本来是哈希的 然后zjj同学写了可持久化线段树 我就学习了一波可持久化线段树 哈希的做法是 对于每一个节点 维护一个对他进行操作的哈希值 比如我对这个节点进行过$12345$操作 那 ...
分类:
其他好文 时间:
2018-10-06 17:48:50
阅读次数:
182
主席树 【前言】 Q:主席树是啥啊? A:可持久化线段树。 Q:线段树又是啥呢? A:二叉树的一种,每个节点都是一个区间。优秀的数据结构,代码实现戳这里。 Q:那可持久化是啥呀? A:就是保存了这个数据结构的所有历史版本,且并不是每更新一个数据都要建树,而是能利用每次修改的不同版本之间的共同数据以减 ...
分类:
其他好文 时间:
2018-10-04 10:37:36
阅读次数:
166
题目描述 如题,你需要维护这样的一个长度为 N 的数组,支持如下几种操作 在某个历史版本上修改某一个位置上的值 访问某个历史版本上的某一位置的值 此外,每进行一次操作(对于操作2,即为生成一个完全一样的版本,不作任何改动),就会生成一个新的版本。版本编号即为当前操作的编号(从1开始编号,版本0表示初 ...
分类:
编程语言 时间:
2018-09-24 23:25:42
阅读次数:
244