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
可持久化线段树(主席树)
[BZOJ3166][Heoi2013]Alo(
可持久化线段树
+可持久化tire树)
实际上,可以用
可持久化线段树
的思想来搞。将所有的值从大到小排序,然后按照每一个点的位置插入线段树,相当于对于每一个点,比它大的点已经都插入进去了。
Clove_unique
·
2016-12-15 16:21
题解
线段树
省选
可持久化
trie
bzoj 3123: [Sdoi2013]森林 (
主席树
+启发式合并+并查集)
3123:[Sdoi2013]森林TimeLimit:20SecMemoryLimit:512MBSubmit:2495Solved:747[Submit][Status][Discuss]DescriptionInput第一行包含一个正整数testcase,表示当前测试数据的测试点编号。保证1≤testcase≤20。第二行包含三个整数N,M,T,分别表示节点数、初始边数、操作数。第三行包含N个
clover_hxy
·
2016-12-14 19:22
并查集
主席树
bzoj 3674 (
可持久化线段树
+并查集按秩合并)
3674:可持久化并查集加强版TimeLimit:15SecMemoryLimit:256MBSubmit:2351Solved:881[Submit][Status][Discuss]DescriptionDescription:自从zkysb出了可持久化并查集后……hzwer:乱写能AC,暴力踩标程KuribohG:我不路径压缩就过了!ndsf:暴力就可以轻松虐!zky:……n个集合m个操作操
clover_hxy
·
2016-12-14 08:02
并查集
线段树
[BZOJ2509][
主席树
]送分题
题意给出平面上的M条平行于坐标轴的线段,问有多少个正方形。这题其实可以O(n3)暴力10秒卡过去……对于一个点(x,y),因为线段都是垂直于坐标轴的,我们可以计算出通过它的线段的四个端点。又因为每条线段没有重叠部分,所以可以用类似并查集的方法O(n2)处理出来。那么暴力就是枚举每个点作为正方形的一个端点,然后枚举正方形的边长再判断。把平面分成2n条对角线,可以证明每个正方形的两个对角肯定在同一条线
LowestJN
·
2016-12-13 19:50
可持久化数据结构
bzoj 2653: middle (二分+
主席树
)
2653:middleTimeLimit:20SecMemoryLimit:512MBSubmit:1289Solved:730[Submit][Status][Discuss]Description一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整。给你一个长度为n的序列s。回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c,d]之
clover_hxy
·
2016-12-13 09:18
二分
主席树
[BZOJ2653]middle(二分+
主席树
)
题目描述传送门题解可以发现所有满足条件的中位数是具有单调性的,也就是说,如果M′#include#include#includeusingnamespacestd;#defineN20005intn,Q,a,b,c,d,ans,sz;structhp{intval,id;}s[N];introot[N],q[5];intsum[N*20],lmax[N*20],rmax[N*20],ls[N*20
Clove_unique
·
2016-12-12 20:46
题解
可持久化
关于可持久化并查集的学习和思考
鉴于noip比赛前集训时SAKER前辈教了我这个蒟蒻
可持久化线段树
以来,我懂得了如何维护一个支持历史查询的线段树。于是我就开始异想天开了:可不可以快速维护一个支持历史查询的数组呢?
KsCla
·
2016-12-12 19:15
可持久化数据结构
[BZOJ3772]精神污染(dfs序+
主席树
)
题目描述传送门题解对于每一条链计算能完全覆盖它的有多少条。处理出来dfs序了之后,可以发现边大概分为三种情况:x和y的lca不是x和y中的某一个,x和y的lca是x或y,还有就是一条路径就是一个点。对于第一种情况,能覆盖它的路径一定是一个端点在x的子树里,一个端点在y的子树里。对于第二种情况,能覆盖它的路径一定是一个端点在y的子树里,另外一个端点在x的子树外。对于第三种情况,除了计算和第二种情况相
Clove_unique
·
2016-12-12 15:23
题解
可持久化
dfs序
[BZOJ3772]精神污染(dfs序+
主席树
)
题目描述传送门题解对于每一条链计算能完全覆盖它的有多少条。处理出来dfs序了之后,可以发现边大概分为三种情况:x和y的lca不是x和y中的某一个,x和y的lca是x或y,还有就是一条路径就是一个点。对于第一种情况,能覆盖它的路径一定是一个端点在x的子树里,一个端点在y的子树里。对于第二种情况,能覆盖它的路径一定是一个端点在y的子树里,另外一个端点在x的子树外。对于第三种情况,除了计算和第二种情况相
Clove_unique
·
2016-12-12 15:23
题解
可持久化
dfs序
[BZOJ3545][ONTAK2010]Peaks(splay启发式合并)
这题还有
主席树
的做法,就是通过排序之后将点重新编号,保证在任何时刻和某一个点连通的所有点组成一个连续的区间,然后实际上就是一个静态
主席树
找区间第k大了。
Clove_unique
·
2016-12-11 18:25
题解
平衡树
启发式合并
[spoj D-query]
主席树
求区间不同数
[spojD-query]
主席树
求区间不同数题目链接:[spojD-query]题意描述:给定N个数a1,a2,…,an,Q个询问。每次查询求区间中不同数的个数。
Xingw-Xiong
·
2016-10-20 11:07
ACM____主席树
[poj 2104 K-th Number]
主席树
区间第K大
[poj2104K-thNumber]
主席树
区间第K大题目链接:[poj2104K-thNumber]题意描述:给定N个数a1,a2,…,an,M次查询,每次查询区间第L个数到第R个数中的第K大数。
Xingw-Xiong
·
2016-10-19 19:16
ACM____主席树
练习题目-动态第k小
树套树、树状数组+
主席树
、整体二分、块状链表....哪个他没用过。我们啊,还是太naive了。小M为了教我们点人生经验,于是需要教会我们求第K小。
AndyLau96
·
2016-10-18 22:34
SPOJ COT Count on a tree 树上第k大(
主席树
)
题意:http://www.spoj.com/problems/COT/en/题意:给定一棵树,树上每个节点都有一个权值,问两点之间路径上第K大值思路:树上的第k大值,跟区间第k大有些不同,区间第k大每个值在前一个值的基础上新建一棵树,而树上第k大则是在父亲节点的基础上新建一棵树。查询的时候,答案就是root[v]+root[u]-root[lca(v,u)]-root[fa[lca(v,u)]]
霜刃未曾试
·
2016-10-02 15:28
主席树
JZOJ4793. 妮厨的愤怒
时间复杂度:O(nlogn)SRC//
主席树
#incl
Akakii
·
2016-09-22 22:43
Manacher
JZOJ4793. 妮厨的愤怒
时间复杂度:O(nlogn)SRC//
主席树
#inc
Akak__ii
·
2016-09-22 22:00
HDU 4348 To the moon(
可持久化线段树
)
TothemoonTimeLimit:4000/2000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):4287AcceptedSubmission(s):923ProblemDescriptionBackgroundToTheMoonisaindependentgamereleasedinNovembe
Dacc123
·
2016-09-21 14:43
线段树
hdu
数点问题
可持久化线段树
解决区间第k大(本质上是二维数点问题)我们可以把询问按照左端点排序,用线段树维护权值。左侧的指针l每向右挪动1位,就从线段树删除一个值的信息。然后二分权值就能知道第k大是什么值了。
心若为城
·
2016-09-01 11:27
数据结构
BZOJ 3295: [Cqoi2011]动态逆序对 (树状数组套
主席树
)
题面:对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。对于已经存在的序列进行删除不是很好操作,不妨先倒过来想,假设我们将这些数空缺,然后倒序加入序列中是否可行,很明显可以,那么剩下的问题就是对于当前加入的书产生了多少个逆序对,对于新添入一个数来说,产生的逆序对一定是当前序列中1
wJs9528-1
·
2016-08-22 16:33
===数据结构===
主席树
spoj DQUERY - D-query(区间不同数的个数
主席树
or BIT)
可以用
主席树
也可以用树状数组,做法都是同一个原理。从左往右扫一遍,记录每个数上一次出现的位置。当扫到i位置时,把a[i]上一次出现的位置-1,i这个位置+1。
KIJamesQi
·
2016-08-21 12:49
数据结构-线段树
数据结构-树状数组
hdu 5857 Median (
主席树
写法)
题意:给出一个有序的数列.求由A[l1]~A[r1]与A[l2]~A[r2]组成的新序列的中位数.题解:比赛时没看见有序,直接套了
主席树
,越写越乱,赛后改一下过了#include#include#include
Ezereal
·
2016-08-19 09:44
数据结构—主席树
多校赛第7场 hdu5820 Lights
主席树
hdu5820Lights比赛时候卡在一个构造题上了,结束改了一行1A,心痛。。没有时间看别的题,这是个很严重的问题。。题意一个50000x50000的网格,上面有500000个红绿灯(整点),问这些红绿灯两两之间是否都有一条这样的路,使得路上每个转弯点都有交通灯。解法题解上感觉写的有点问题。对于每个交通灯,找到距离它最近的上下左的交通灯(若没有则视为边界有),由这四个点可以构成一个矩形。这个矩形
CZWin32768
·
2016-08-10 13:18
hdu
多校赛
主席树
[BZOJ4539][Hnoi2016]树(dfs序+
主席树
+lca)
题目描述传送门题解可以看出在原树上的每一次复制都是一棵完整的子树,用dfs序表示出来就是一段连续的区间。称原来给的大小为n的树为模板树,最后得到的树为答案树,把一次操作增加的节点看成一块,然后构成的树称为大树。我们就需要将模板树和答案树结合起来计算答案。答案树上两点的距离=两点分别走到所在块的根,在大树上走到两个块的lca,撤销进入块lca后两个点共同走过的路径。第一步的答案就是找到点到它所在块的
Clove_unique
·
2016-08-05 18:11
题解
lca
省选
可持久化
dfs序
bzoj 4539: [Hnoi2016]树(缩点+
主席树
+lca)
4539:[Hnoi2016]树TimeLimit:40SecMemoryLimit:256MBSubmit:442Solved:173[Submit][Status][Discuss]Description小A想做一棵很大的树,但是他手上的材料有限,只好用点小技巧了。开始,小A只有一棵结点数为N的树,结点的编号为1,2,…,N,其中结点1为根;我们称这颗树为模板树。小A决定通过这棵模板树来构建一
clover_hxy
·
2016-08-04 19:51
倍增
LCA
主席树
2016hdu多校赛第5场(hdu5790)
主席树
(Persistent Segment Tree)
主席树
也就是PersistentSegmentTree,
可持久化线段树
。一般来讲线段树更新之后不会使用历史版本的线段树的信息,但是有些问题里面需要。
CZWin32768
·
2016-08-04 19:10
hdu
多校赛
主席树
字典树
【UNR #1】】火车管理
可持久化线段树
题目:uoj旗下有一个火车站,用来管理属于uoj的小火车。火车站一共有nn条编号为1,…,n1,…,n的,只有一端的用来存放小火车的铁路,由于小火车特殊的构造,每条铁路可以停放无数辆小火车。每条铁路是相互独立的。铁路是一个栈结构,后停放的小火车可以先出来。每辆小火车有一个吨位tt。由于NOI2016即将到来,想要跟小火车正面作战的人多了起来,火车站管理员九条可怜每天需要处理很多事件。事件可以概括成
ALPS233
·
2016-07-19 15:36
Segmet
Tree
可持久化线段树
【uoj218】火车管理 题解&代码(C++)
题目链接:http://uoj.ac/problem/218题解:我们可以针对时间建立一颗
可持久化线段树
,维护每个铁路每个时间的栈顶的吨位和栈顶火车的入栈时间。我们再维护一颗线段树用来统计答案。
deritt
·
2016-07-19 15:15
oi之路
uoj
线段树
数据结构
可持久化
POJ 2104 K-th Number (划分树,
主席树
写过了,这次是整体二分解法 )
还是先描述一下题意:给出一个长度为n的数列,m次询问区间内的第k大数对划分树,
主席树
和整体二分通过这题做了一下比较划分树 1000ms+
主席树
2000ms+整体二分1500ms+整体二分介于两者之前,对于这题复杂度约莫是
Forever_wjs
·
2016-07-03 16:00
整体二分初步
先说说第k大数吧,这种问题是整体二分的标志性题目,什么划分树啊,
主席树
啊,树套树啊见了整体二分都得自叹不如。
cnyali
·
2016-06-16 15:45
程序代码
算法分享
BZOJ2223 [Coci 2009]PATULJCI 题解&代码
题解:标准
主席树
…
主席树
还是这么简单粗暴QwQ但是我MLE了好多次,这空间卡得我怀疑人生…不过最后的错误反而不在空间233333我把n和m弄错了WA了好几次,总之是简单错误啦和BZOJ3524是一道题,
Rainbow6174
·
2016-06-01 21:45
BZOJ
主席树
BZOJ学习记录
BZOJ2223 [Coci 2009]PATULJCI 题解&代码
题解:标准
主席树
…
主席树
还是这么简单粗暴QwQ但是我MLE了好多次,这空间卡得我怀疑人生…不过最后的错误反而不在空间233333我把n和m弄错了WA了好几次,总之是简单错误啦和BZOJ3524是一道题,
Rainbow6174
·
2016-06-01 21:00
POJ2104 —— K-th number
2、分析:这个是
可持久化线段树
,也是
主席树
,解释一下,n个线段树是怎么存下的,就是每一颗线段树和前一个有logn个点不一样然后我们只需要一个线段树开logn的空间,然后其他的指针指向上一个线段树对应的地方也是可以的对吧然后
qzh_1430586275
·
2016-05-18 08:00
number
poj
主席树
K-th
2104
BZOJ1901——Zju2112 Dynamic Rankings
1、题目大意:区间第k小,有单点修改2、分析:这个是树状数组套线段树,也是
主席树
。。。。为什么
主席树
这么多QAQ就是树套树的那种插入什么的,注意啊,一定要动态开内存。。不然会爆。。
qzh_1430586275
·
2016-05-18 08:00
dynamic
rank
主席树
bzoj
树状数组套线段树
1901
Zju2112
hdu5412——CRB and Queries
1、题目大意:区间第k大,单点修改2、随便搞搞就好了==,树套树或
主席树
,我写的很丑#include #include #include #include usingnamespacestd; structNode
qzh_1430586275
·
2016-05-18 08:00
二分
and
Queries
CRB
主席树
树套树
hdu5412
poj2104K-th Number (
主席树
)
K-thNumberTimeLimit:20000MS MemoryLimit:65536KTotalSubmissions:46886 Accepted:15682CaseTimeLimit:2000MSDescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustas
su20145104009
·
2016-05-17 20:00
poj
poj2104
主席树
可持久化线段树
2104
CWOJ 1198
主席树
之区间第k大
problem_id=1198出这道题的目的是学习最基础
主席树
,对已掌握
主席树
的选手,完全不需要去看,对完全不会
主席树
的同学,有学习的价值稍后可能附上具体思路代码如下:#include #include
UESTC_peterpan
·
2016-05-15 01:00
线段树的升级版——
可持久化线段树
可持久化线段树
,听起来像线段树的升级版。但是这个东西有什么用呢?
lyd_7_29
·
2016-05-14 14:00
线段树
可持久化线段树
HDU 4757 Tree
可持久化Trie,大概和树上
主席树
一个做法(竟然轻易地就1A了)#include #include #include #include #include #include usingnamespacestd
nlj1999
·
2016-05-14 08:00
[BZOJ2809][Apio2012]dispatching(枚举&dfs序+
主席树
||可并堆||splay+启发式合并)
题目描述传送门题解1°
主席树
枚举每一个忍者当管理者,由于选忍者的顺序满足薪水单调不减,可以用dfs序+
主席树
维护出子树中权值之和小于等于k最多有多少个。
Clove_unique
·
2016-05-13 20:00
枚举
bzoj
apio
dfs序
主席树
[BZOJ2588]Count on a tree(可持久化权值线段树|
主席树
)
题目描述传送门题解在树上建维护当前节点到根的路径的权值线段树,然后查询的时候为sum[a]+sum[b]-sum[lca(a,b)]-sum[father[lca(a,b)]]。代码#include#include#include#includeusingnamespacestd;constintmax_n=1e5+5;constintsz=17;constintmax_e=max_n*2;con
Clove_unique
·
2016-05-13 20:41
题解
可持久化
[BZOJ2588]Count on a tree(可持久化权值线段树|
主席树
)
题目描述传送门题解在树上建维护当前节点到根的路径的权值线段树,然后查询的时候为sum[a]+sum[b]-sum[lca(a,b)]-sum[father[lca(a,b)]]。代码#include #include #include #include usingnamespacestd; constintmax_n=1e5+5; constintsz=17; constintmax_e=max
Clove_unique
·
2016-05-13 20:00
bzoj
主席树
[BZOJ1901]Dynamic Rankings(动态
主席树
)
题目描述传送门题解动态
主席树
模板题,感谢hzwer的模板,自己改动了一点小地方。这就是传说中的树套树?
Clove_unique
·
2016-05-13 20:42
题解
可持久化
树套树
[BZOJ1901]Dynamic Rankings(动态
主席树
)
题目描述传送门题解动态
主席树
模板题,感谢hzwer的模板,自己改动了一点小地方。这就是传说中的树套树?
Clove_unique
·
2016-05-13 20:00
bzoj
主席树
POJ 2104 K-th Number (
主席树
静态区间第K大)
题意:给你n个不同的数字,m次询问,每次询问l->r这个区间内第k大的树是多少分析:刚学
主席树
试着写了一发,值得注意的是
主席树
是多颗线段树,并且每颗线段树存的都是插入第i个数字的状态,树中结点存储的是每个区间插入第
Forever_wjs
·
2016-05-12 22:00
POJ 2104 K-th Number(
主席树
)
题目链接:点击打开链接细节参见代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defineMax(a,b)((a)>(b)?(a):(b)) #defineMin(a,b
weizhuwyzc000
·
2016-05-12 22:00
poj
主席树
BZOJ4571 [Scoi2016]美味
区间最大异或值的经典做法是可持久化trie,但是加上一个数的话可持久化trie就变得非常的扯淡考虑可持久化trie其实可以等价为一颗上限为2^k-1的
主席树
,在trie上确定一位其实相当于将答案的区间缩小的一半
neither_nor
·
2016-05-11 20:00
bzoj3065带插入区间K小值
这题其实好像很难,但是听werkeytom_ftd说可以用块链水,于是就很开心地去打了个块状链表套
主席树
,插入操作就直接插到一个块中,注意如果块的大小2*block就将块分开,注意每一个修改或插入都要修改后继的状态
samjia2000
·
2016-05-10 22:00
链表
分块
块状链表
主席树
简介
从线段树开始先来看下这道线段树的题:CWOJ1197线段树之查询第k大带修改题目描述有N个箱子,分别放在[1,N]区间的整点上,一个整点上可以有多个箱子。比如,N=7,X={1,2,2,5,6,7,7},表示1,5,6三个点上分别有一个箱子,2,7两个点上分别有两个箱子每组数据,首先给出N和X。接下来有三种操作,查询和修改1.(Q,k):查询[1,N]区间上第k个箱子所在的位置。比如X={1,2,
UESTC_peterpan
·
2016-05-10 14:00
hdu 3727(
主席树
例题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3727题意是有4种操作1、在项链后面插入一个珍珠,保证每一个珍珠都不一样2、查询第l到第r个珍珠之间第k大的珍珠的大小3、假设把所有珍珠按照大小排序,查询size为x的珍珠的排名4、查询所有珍珠里第k大的珍珠的大小题目只需要输出2,3,4询问的所有答案即可第3个询问很简单,不谈。第4个询问本质上和上一道
UESTC_peterpan
·
2016-05-10 14:00
【BZOJ3110】【codevs1616】K大数查询,权值线段树套普通线段树
Time:2016.05.09Author:xiaoyimi转载注明出处谢谢传送门1传送门2思路:之前没怎么接触过权值线段树(非
主席树
),这次就当学习了一下吧。
xym_CSDN
·
2016-05-09 13:00
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他