E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
--------可持久化线段树
BZOJ 3514: Codechef MARCH14 GERALD07加强版( LCT + 主席树 )
假如+的边e形成环,那么记下这个环上最早加入的边_e,当且仅当询问区间的左端点>_e加入的时间,e对答案有贡献(脑补一下).然后一开始是N个连通块,假如有x条边有贡献,答案就是N-x.用LCT维护加边,
可持久化线段树
维护询问
JSZX11556
·
2016-02-02 12:00
hdu2665 主席树模板题
pid=2665区间k大值,区间极值很容易想到线段树,如果k是个位数的话,可以考虑开k个域的线段树==,,,,滚~又称
可持久化线段树
,函数式线段树也许是上面两个字看的太长,同时主席两字给人一种不明觉厉的感觉
cww97
·
2016-02-02 02:00
线段树
【BZOJ 3207】花神的嘲讽计划Ⅰ(Hash +
可持久化线段树
)
题意:找区间有无序列x;1.因长度K定—》Hash.107(从k开始);2.只有子节点的sum有用;3.找到区间端点两的size相减;#include #include #defineullunsignedlonglong #defineinf18446744073709551615UL usingnamespacestd; constintmaxn=200005; intn,m,k,tot,ro
ALPS233
·
2016-01-29 18:00
namespace
hash
X
【BZOJ 3207】花神的嘲讽计划Ⅰ(Hash +
可持久化线段树
)
题意:找区间有无序列x;1.因长度K定—》Hash.107(从k开始);2.只有子节点的sum有用;3.找到区间端点两的size相减;#include #include #defineullunsignedlonglong #defineinf18446744073709551615UL usingnamespacestd; constintmaxn=200005; intn,m,k,tot,ro
ALPS233
·
2016-01-29 18:00
namespace
hash
X
主席树学习小结
可持久化线段树
,也叫作函数式线段树,也就是主席树,(。。。因为先驱就是fotile主席。。Orz。。。)
wr132
·
2016-01-28 17:00
讲解
主席树
可持久化线段树
函数式线段树
数据结构优化连边
什么是线段树连边对于一类题目,它们建出来的图好大好大,这时候通常可以利用线段树(大多数时候是
可持久化线段树
)来进行优化连边,保证点的连通性不变,路径权值信息不变。
WerKeyTom_FTD
·
2016-01-15 19:00
BZOJ1146 [CTSC2008]网络管理Network
[分析]这题我就不说正解了...貌似是树剖什么的...本人蒟蒻,现在还没学到...讲一讲这题怎么用
可持久化线段树
做。两点间的第k大,总让人想起区间第k大,然后这题也是带修改的,就让我
诚叙
·
2016-01-09 13:00
主席树(
可持久化线段树
)学习笔记
首先离散化然后当前版本的线段树可以有上个版本的线段树修改lgn个节点得到的还满足区间减法好神#include #include #include #include #include usingnamespacestd; setD; charc; boolflag; inlinevoidread(int&a) {a=0,flag=false;doc=getchar();while(c!='-'&&(
liutian429073576
·
2015-12-20 09:00
主席树
可持久化线段树
BZOJ 3207 花神的嘲讽计划Ⅰ 题解&代码
**注意,匹配成功了输出No,失败时才会输出Yes思路:嘛…就是把每k个数字hash一下存进
可持久化线段树
的对应位置,这样得到了n-k+1个线段树的根节点,分别为[k,n
Rainbow6174
·
2015-12-14 18:00
题解
C++
线段树
主席树
BZOJ 3207 花神的嘲讽计划Ⅰ 题解&代码
**注意,匹配成功了输出No,失败时才会输出Yes思路:嘛…就是把每k个数字hash一下存进
可持久化线段树
的对应位置,这样得到了n-k+1个线段树的根节点,分别为[k,n
Rainbow6174
·
2015-12-14 18:00
题解
C++
线段树
主席树
本周刷水【2015.11.30~2015.12.6】
bzoj3489【
可持久化线段树
】题目大意:多组询问,每次查询一个区间中的只出现一次的数中的最大值,强制在线。
morestep
·
2015-12-06 20:00
可持久化线段树
笔记
可持久化线段树
就是一种可持久化数据结构。最简单的
可持久化线段树
的方法是对于不同的时间,都建一棵新线段树,当前时刻的线段树可以由前一时刻复制来,然后在当前时刻的线段树上面进行修改。
Quack_quack
·
2015-11-28 20:00
数据结构
【
可持久化线段树
】【树状数组】[ZOJ 2112]Dynamic Rankings
题目大意:带修改操作的区间第K大首先可以发现因为只有在需要使用的时候才会新建节点那么最多有nlogn个节点,那么只需要在更新的时候带上值域就可以不用进行离散化了,每一次就是和普通的树状数组那么进行更新,因为求得是区间的和(大概就是可持久化的原理)但是用树状数组来做每一个更新的时候就有了求前缀和的范围,每一次加起来就好了,其实和普通的树状数组差不多的。(注意是多组数据)#include #inclu
JeremyGJY
·
2015-11-27 14:00
算法
ZOJ
树状数组
可持久化线段树
【
可持久化线段树
】[SPOJ COT]Count on a tree
题目大意:给定一棵树,然后询问连个节点间路径上的权值的第K小的权值大小题目分析:和普通的第K大的
可持久化线段树
差距不大,但是要写个LCA可以发现Tree(a)+Tree(b)−Tree(LCA)−LCA
JeremyGJY
·
2015-11-27 13:00
C++
算法
COT
可持久化线段树
【集训队作业】XRQRS
区间中所有数与x异或,取得最大值的数查询[l,r)区间中的第x小数查询[l,r)区间中,小于等于x的数的个数m≤5×105,序列中的数≤5×105分析找区间第k小,小于等于某个数的个数,以及异或最值,可以分别用
可持久化线段树
以及可持久化
Yves___
·
2015-11-19 21:00
bzoj 3207
可持久化线段树
首先因为固定询问长度,所以我们可以将整个长度为n的数列hash成长度为n-k+1的数列,每次询问的序列也hash成一个数,然后询问这个数是不是在某个区间中出现过,这样我们可以根据初始数列的权值建立
可持久化线段树
·
2015-11-13 21:00
线段树
bzoj 3524
可持久化线段树
我们可以先离散化,然后建立权值的
可持久化线段树
,记录每个数出现的次数,对于区间询问直接判断左右儿子的cnt是不是大于(r-k+1)/2,然后递归到最后一层要是还是大于就有,否则不存在。
·
2015-11-13 21:59
线段树
poj 2104
可持久化线段树
中每个数出现了几次,那么我们可以二分的求出来这个区间的k大值,类似sbt的select操作,那么因为点的权值插入是无序的,所以我们并不能对于子区间l,r做上述操作,因为我们无法提出这个区间,那么我们建立
可持久化线段树
就好了
·
2015-11-13 21:57
poj
可持久化数据结构讲解
在这里只讲下比较常用的
可持久化线段树
和trie。
·
2015-11-13 20:02
数据结构
bzoj 3123
可持久化线段树
启发式合并
首先没有连边的操作的时候,我们可以用
可持久化线段树
来维护这棵树的信息,建立权值
可持久化线段树
,那么每个点继承父节点的线段树,当询问为x,y的时候我们可以询问rot[x]+rot[y]-rot[lca
·
2015-11-13 20:59
线段树
bzoj 2653 二分答案+
可持久化线段树
首先离散化,然后我们知道如果对于一个询问的区间[l1,r1],[l2,r2],我们二分到一个答案x,将[l1,r2]区间中的元素大于等于x的设为1,其余的设为-1,那么如果[l1,r1]的最大右区间和加上[r1,l2]的区间和加上[l2,r2]的最大左区间和大于等于0,那么最大的中位数一定大于等于x。因为这个区间中大于等于x的数量超过了一半,那么我们可以二分答案,然后判断最大的合法(见上文)区
·
2015-11-13 20:58
线段树
【BZOJ】3673: 可持久化并查集 by zky & 3674: 可持久化并查集加强版(
可持久化线段树
)
http://www.lydsy.com/JudgeOnline/problem.php?id=3674 http://www.lydsy.com/JudgeOnline/problem.php?id=3673 双倍经验啦啦啦。。 给主席树换了个名称果然高大上。。。 首先要可持久化并查集其实就是可持久化数组。。。 那么因为数组的形式是这样的$P[x]$,那么我们用一种数据结构实现查找x返
·
2015-11-13 11:10
并查集
主席树/函数式线段树/
可持久化线段树
因此
可持久化线段树
也叫函数式线段树又叫主席树。 可持久化数据结构 在算法执行的过程中,会发现在更新一个动态集合时,需要维护其过去的版本。这样的集合称为是可持久的。
·
2015-11-13 03:12
线段树
HDU4757 Tree(可持久化Trie)
写过
可持久化线段树
,但是从来没写过可持久化的Trie,今天补一补。 题目就是典型的给你一个数x,和一个数集,问x和里面的某个数xor起来的最大值是多少。
·
2015-11-12 16:20
tree
spoj 10628
http://www.spoj.com/problems/COT/ 树上第k小元素 LCA +
可持久化线段树
每个新的版本都是由其父亲版本转化而来。
·
2015-11-11 12:41
poj
归并树 划分树
可持久化线段树
(主席树) 入门题 hdu 2665
如果题目给出1e5的数据范围,,以前只会用n*log(n)的方法去想 今天学了一下两三种n*n*log(n)的数据结构 他们就是大名鼎鼎的 归并树 划分树 主席树,,,, 首先来说两个问题,,区间第k大 ,,,, 这个问题的通用算法是 划分树,, 说白一点就是把快速排序的中间结果存起来, 举个栗子 原数列 4 1 8 2 6 9
·
2015-11-10 21:01
HDU
可持久化线段树
【专题@AbandonZHANG】
♥
可持久化线段树
(函数式线段树): 可持久化数据结构(Persistent data structure)就是利用函数式编程的思想使其支持询问历史版本、同时充分利用它们之间的共同数据来减少时间和空间消耗
·
2015-11-08 16:28
线段树
可持久化线段树
【专题@AbandonZHANG】
♥
可持久化线段树
(函数式线段树): 可持久化数据结构(Persistent data structure)就是利用函数式编程的思想使其支持询问历史版本、同时充分利用它们之间的共同数据来减少时间和空间消耗
·
2015-11-08 16:27
线段树
可持久化线段树
(函数式线段树) 【@Abandon】
♥
可持久化线段树
(函数式线段树): 可持久化数据结构(Persistent data structure)就是利用函数式编程的思想使其支持询问历史版本、同时充分利用它们之间的共同数据来减少时间和空间消耗
·
2015-11-08 16:26
线段树
POJ2104-- K-th Number(主席树静态区间第k大)
[转载]一篇还算可以的文章,关于
可持久化线段树
http://finaltheory.info/?
·
2015-11-08 14:19
number
Codeforces 484E Sign on Fence(是持久的段树+二分法)
解题思路:
可持久化线段树
维护区间合并,前端时间碰到一题可持久化字典树,就去查了一下相关论文,大概知道了是 什么东西。 将高度依照从大到小的顺序排序,然后每
·
2015-11-08 10:43
codeforces
主席树(
可持久化线段树
) 静态第k大
可持久化数据结构介绍 可持久化数据结构是保存数据结构修改的每一个历史版本,新版本与旧版本相比,修改了某个区域,但是大多数的区域是没有改变的, 所以可以将新版本相对于旧版本未修改的区域指向旧版本的该区域,这样就节省了大量的空间,使得可持久化数据结构的实现成为了可能。 如下图,就是可持久化链表 插入前 插入后 尽可能利用历史版本和当前版本的相同区域来
·
2015-11-01 12:26
线段树
BZOJ 3489 A simple rmq problem(
可持久化线段树
)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3489 题意:一个数列。每次询问一个区间内出现一次的最大的数字是多少。 思路:设last[i]表示i位置的数字上一次出现的位置,next[i]类似。那么询问区间[L,R]时,这个区间的哪些数字可以只出现一次呢?是那些last值小于L且next值大于R的数字。因此按照last排序后
·
2015-10-31 17:16
simple
【NOIP】10.29集训总结
T4天啦噜终于会做了,
可持久化线段树
硬上直接解了。打完9:30,静下心来,发现T1不用这么麻烦,100W以内的质数只有7W个,随
ChrysanthemumZhao
·
2015-10-29 22:30
总结
赛前必看
【NOIP】10.29集训总结
T4天啦噜终于会做了,
可持久化线段树
硬上直接解了。打完9:30,静下心来,发现T1不用这么麻烦,100W以内的质数只有7W个,随
ChrysanthemumZhao
·
2015-10-29 22:30
总结
赛前必看
【NOIP】10.29集训总结
T4天啦噜终于会做了,
可持久化线段树
硬上直接解了。打完9:30,静下心来,发现T1不用这么麻烦,100W以内的质数只有7W个,随
ChrysanthemumZhao
·
2015-10-29 22:00
NOIP模拟10.29总结
做题过程T1看到题就想到了
可持久化线段树
,但是后面就蠢了。
lzxzxx
·
2015-10-29 22:00
刷了500道水题是什么体验?
数据结构还好,经常做高中生的题,可持久化
可持久化线段树
也能花一下午时间写出来,然而并不会考。平时做题只刷水题,遇到难题的时候,随手搜题解,看了看,哇,这居然能这么搞!然后抄一遍别人代码
·
2015-10-23 09:38
500
主席树讲解
以下转自http://prominences.weebly.com/1/post/2013/02/1.html
可持久化线段树
,也叫作函数式线段树,也就是主席树,(。。。
·
2015-10-21 12:48
树
whx带我刷JOI training
之前看到这题的时候刚好做了某逆序对题和这题似乎挺像……以为是扫描线+线段树,然后不会做2333唔然后再看的时候YY了个分治+二分+
可持久化线段树
(雾)的东西……然而好像还是不能做再后来whx告诉我……cdq
GEOTCBRL
·
2015-09-03 18:00
HDU 4348 To the moon
可持久化线段树
,用T[i]表示时间为i的时候的树根;由于整一个更新只有单一的加法,所以我们不必利用lazy标记,我们用一个标记来记录当前节点的整段区间被累加了多少,当询问的时候我们在从根节点走到目标结点的过程中不断累加所经过节点上的标记值
Mr_Xujh
·
2015-08-22 19:00
HDU
主席树
主席树(
可持久化线段树
)入门专题
1.poj2104查询区间第k小。主席树其实相当于建立了n棵线段树,第i棵线段树是根据区间【1,i】按值建立的。对于每一棵线段树我们记录它对应的区间每个数出现的次数,所以首先要对所有的数离散化。先考虑最简单的情况,只查询【1,n】的第k小,对于【1,n】我们按值建立一棵线段树,对于a[i]我们在位置a[i]上加1。查询第k小那么先看左子区间出现了多少个数cnt,假设左区间出现的数cnt>=k,那么
HuanTongH
·
2015-08-16 18:52
数据结构
hdu 2665 Kth number 可持(逗)久(比)化线段树
所以我们的
可持久化线段树
的优越性就体现出来了,少了一个log并且很好写?跟上一道题的建树一样,在询问的时候,只需要二分一下就简单的过去了。不过离散化后,序列的长度要注意不要写成原来的n!!!!!
wzq_QwQ
·
2015-07-31 19:00
代码
方法
序列
持久化
离散化
BZOJ 3524 [Poi2014]Couriers
可持久化线段树
题意:链接方法:
可持久化线段树
。解析:可持久化数据结构好神啊,感觉都好玄妙的感觉。首先建树的目的就是建立一棵权值树,维护的是在L,R里某些权值的数的出现个数。
wzq_QwQ
·
2015-07-31 17:00
基础
方法
解析
update
结构
主席树/函数式线段树/
可持久化线段树
因此
可持久化线段树
也叫函数式线段树又叫主席树。 可持久化数据结构在算法执行的过程中,会发现在更新一个动态集合时,需要维护其过去的版本。这样的集合称为是可持久的。
u013007900
·
2015-06-04 20:00
【BZOJ3207】花神的嘲讽计划Ⅰ hash+
可持久化线段树
然后用
可持久化线段树
实现一段区间内有哪些数,然后查询一段区间是否有要的那个数就行了
Vmurder
·
2015-05-13 08:00
hash
可持久化线段树
BZOJ3207
花神的嘲讽计划I
BZOJ 4026 dC Loves Number Theory 分块+十字链表/
可持久化线段树
题目大意:给定一个序列,多次询问某段区间乘积的φ值对1000777的模我竟然卡过去了233333将序列分块,记录fi,j表示第i块左端点到第j个点中出现的所有质数p的p−1p之积每次询问[x,y],首先取出[x,y]区间内所有数的积,然后乘上fst,y(其中st是x后面第一个块端点所在块)现在还剩[x,l[st]]部分没有统计由于106以内的数分解得到的不同的质因数最多只有7个,因此暴力枚举零碎部
PoPoQQQ
·
2015-04-30 16:00
分块
bzoj
可持久化线段树
可持久化数据结构
BZOJ4026
Codeforces 538F【
可持久化线段树
】
注意到两点:1.n个节点的完全K叉树中,有儿子的节点数量是O(n/k).而Hn是O(nlogn)的.2.每个节点的儿子是一段连续的区间,因此我们就可以用
可持久化线段树
来高效查找.
Lethelody
·
2015-04-27 10:00
hdu 2665
可持久化线段树
求区间第K大值(函数式线段树||主席树)
http://acm.hdu.edu.cn/showproblem.php?pid=2665ProblemDescriptionGiveyouasequenceandaskyouthekthbignumberofainteval. InputThefirstlineisthenumberofthetestcases. Foreachtestcase,thefirstlinecontaintwoin
u013573047
·
2015-04-24 11:00
【HDU】4348 To the moon 【
可持久化线段树
】
传送门:【HDU】4348Tothemoon题目分析:可以将标记留在节点上,查询的时候累加就行了,这样避免了
可持久化线段树
打标记内存吃紧的窘态。
u013368721
·
2015-04-22 21:00
HDU
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他