什么是主席树 可持久化数据结构(Persistent data structure)就是利用函数式编程的思想使其支持询问历史版本、同时充分利用它们之间的共同数据来减少时间和空间消耗。 因此可持久化线段树也叫函数式线段树又叫主席树。 可持久化数据结构 在算法执行的过程中,会发现在更新一个动态集合时,需 ...
分类:
其他好文 时间:
2016-06-19 18:14:16
阅读次数:
222
后缀自动机+二分+倍增+可持久化线段树/后缀数组...
分类:
其他好文 时间:
2016-06-17 00:50:50
阅读次数:
416
看到题目就可以想到hash 然后很自然的联想到可持久化权值线段树 WA:base取了偶数 这道题还可以用莫队做,比线段树快一些 可持久化线段树: 1 #include<bits/stdc++.h> 2 #define ll long long 3 #define uint unsigned int ...
分类:
其他好文 时间:
2016-06-08 00:09:02
阅读次数:
286
题意:给n个数和m个询问,询问l,r,k是从l~r中的第k小
思路:可持久化线段树的模板题
说下自己对可持久化线段树的理解吧
可持久化线段树的是可以保存历史版本的线段树,就是插进去第i个数的线段树的状态,这样我们可以通过state[r]-state[l-1]来得到state[l~r]
朴素做法就是维护n颗线段树,但是这样一般都会MLE
可持久化线段树利用了每次插入数只修改了线段树上一条链的...
分类:
其他好文 时间:
2016-05-13 02:02:08
阅读次数:
282
To the moon Problem Description BackgroundTo The Moon is a independent game released in November 2011, it is a role-playing adventure game powered by ...
分类:
其他好文 时间:
2016-05-07 22:05:19
阅读次数:
246
传送门 LCA+主席树(可持久化线段树) 取一个点为根,每棵线段树记录树上节点到根的链上的权在数轴上的分布(当然要离散化), 则对于两个点u,v的路径上的数在数轴上的分布可以表示为tree[u]+tree[v]-tree[lca(u,v)]-tree[fa(u,v)](可以随便画图YY一下), 然后 ...
分类:
其他好文 时间:
2016-04-28 09:27:54
阅读次数:
166
题目:http://www.tsinsen.com/A1505 A1505. 树(张闻涛) 时间限制:1.0s 内存限制:512.0MB 总提交次数:196 AC次数:65 平均分:58.62 时间限制:1.0s 内存限制:512.0MB 总提交次数:196 AC次数:65 平均分:58.62 将本 ...
分类:
其他好文 时间:
2016-04-11 00:14:31
阅读次数:
285
题目1 POJ2104 题目大意:静态查询区间第K小值。 裸的可持久化线段树。 1 #include <cstdlib> 2 #include <iostream> 3 #include <algorithm> 4 #include <cstdio> 5 #include <cstring> 6 7 ...
分类:
其他好文 时间:
2016-04-03 14:40:31
阅读次数:
204