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
可持久化线段树(主席树)
2019.08.23【NOIP提高组】模拟 A 组 总结
想到
主席树
,但发现时间过不去,便想着其他方法迟迟不下手。最后想不到了,只能这么打了。赛后发现只拿了暴力\(40\)分,唉。正解可以
主席树
+分块。T2:看完题后想到了贪心,但很快就被自己证伪了。
Larry1118
·
2019-08-23 15:00
洛谷P2617 Dynamic Rankings 动态
主席树
模板
https://www.luogu.org/problem/P2617动态
主席树
实际上就是可持久化权值线段树套树状数组,即在静态
主席树
的基础上套了一层树状数组。
a-free-man
·
2019-08-20 20:07
主席树
2019牛客暑期多校训练营(第九场)H Cutting BamboosO(二分、
主席树
)
对高度建
主席树
,二分一个整数高度h,使得高度>=h的竹子的总贡献4
SnowLove
·
2019-08-20 15:00
目录
模板数学模板-组合数模板-二次剩余模板-扩展欧几里得算法模板-扩展中国剩余定理模板-扩展大步小步算法模板-线性筛模板-快速傅里叶变换模板-快速数论变换数据结构模板-树状数组模板-线段树模板-
主席树
模板-
Inko
·
2019-08-19 22:00
POJ 2104 K-th Number(
主席树
求静态区间第k大)
id=2104
主席树
裸题没什么好说的,学
主席树
请看上一篇博客1#include2#include3#include4usingnamespacestd;5constintN=1e5+5;6intT;7intn
SnowLove
·
2019-08-05 21:00
HDU 6621 K-th Closest Distance(二分、
主席树
)
题解二分答案,建立
主席树
。sum[i]表示在i节点管辖的这个区间[l,r]有多少个数的前缀和。看博客没看懂,看队友代码学会了
主席树
,还有谁。
SnowLove
·
2019-08-04 16:00
2019杭电多校第四场 H - K-th Closest Distance(二分加
主席树
)
题目链接:HDU-6621题意:给定n个数字,q次询问,每次给出l,r,p,k。询问区间l,r内所有数字与p的差值的绝对值中排名第k大的是多少。看到题目给了15秒的时限,再看看题目数据很容易想到单次查询应该是log*log的复杂度,再观察这个答案发现具有单调性,于是想到要二分答案,答案确定后,就可以知道查询区间了,我们只需要查询区间[p-mid,p+mid]内有多少数字即可。关于单调性:二分的答案
cy41
·
2019-08-03 08:14
C++数据结构
线段树
对
主席树
的理解以及使用
引入一个长度为nnn的数组,有mmm次查询,每次查询区间[l,r][l,r][l,r]内第kkk小的元素。如果使用暴力,肯定不可以使用线段树?可是我只会查询区间最值啊。那么我们把问题再次简化一下,查询[1,n][1,n][1,n]第kkk小的元素,要求使用线段树来实现。权值线段树为了解决这个问题,我们引入一个名词:权值线段树。那么权值线段树是如何解决上面那个问题的呢?首先,我们对数组进行离散化处理
codancer
·
2019-07-30 15:52
数据结构--主席树
杭电多校11题
10题水题不写了,今天还做了两道
主席树
板题也不写了。。。
evilwind2000
·
2019-07-24 18:51
线段树
主席树
NOIp训练 子串查找VII(树剖+ac自动机+dfs序+bit套
主席树
)
传送门题意:有一棵nnn个点的无根树,第iii个点上有一个字符串sis_isi作为编号和一个权值viv_ivi,现在有mmm次强制在线的询问/修改。询问:给出一个字符串SSS和一条路径(u,v)(u,v)(u,v),路径上iii点的贡献是sis_isi在SSS中出现次数*viv_ivi,问总贡献。时间复杂度:O(nlog3n),∑∣si∣,∑∣S∣,n,mO(nlog^3n),\sum|s_i|,
SC.ldxcaicai
·
2019-07-17 19:24
#
树链剖分
#
主席树
#
树状数组
#
dfs序
#
ac自动机
【树套树】 带修
主席树
Limitation如果认为输入数据全部与\(n\)同阶,要求算法时空复杂度\(O(n\log^2n)\)Solution其实这个东西和
可持久化线段树
没有半毛钱关系,实质上就是树状数组套权值线段树考虑如果不带修
一扶苏一
·
2019-07-03 00:00
【
主席树
启发式合并】【P3302】[SDOI2013]森林
Limitation\(1~\leq~n,~Q~\leq~80000\)Solution考虑有连边还有查询链上第\(k\)大,于是要么用LCT,要么用
主席树
。
一扶苏一
·
2019-06-30 02:00
求区间不同数的个数
在线做法:(
主席树
)参考自:https://blog.csdn.net/aozil_yang/article/details/65448883对于每一颗线段树我们只保留到目前为止每个数字最后出现的位置,
cy41
·
2019-06-12 22:28
线段树
ZOJ 2112(树套树)
problemId=1112静态的
主席树
用于记录静态的未修改的序列的贡献(板子)对于单点修改来说,修改id处的数字相当于将该棵
主席树
以及在此基础上的
主席树
都修改掉,那么单次修改的复杂度就会达到n*log
cy41
·
2019-05-30 17:58
线段树
静态区间第K大 (
主席树
) Kth number HDU - 2665
给出一个序列,询问n次,问L,R区间第k大的数/*静态区间第k小/大
主席树
,也叫
可持久化线段树
学习的前提条件是权值线段树,也就是计算区间内有几个数的tree,可持久化也就是复制上一棵树的结点,然后进行修改
Galaxy_5688
·
2019-05-27 18:05
HDU
【学习笔记】
主席树
1、前置知识线段树、权值线段树、前缀和思想等2、引入
主席树
模板题约定:后面将第k小/大说成kthkthkth解决什么问题:给定一段区间,静态求区间kthkthkth想想方法:暴力:对于每一个询问,排个序
ModestCoder_
·
2019-05-11 14:27
学习笔记
主席树
可持久化数组(知识整理+板子总结)
概念可持久化数组,基于
可持久化线段树
即
主席树
主席树
是在叶子节点存入了值出现的次数,可持久化数组就是把叶子结点改成了对应数组中位置的值
主席树
可以开局不建root[0](默认root[0]=0,root[0
Code92007
·
2019-05-09 16:17
知识点总结
Sign on Fence(
主席树
+二分)
CF484E.SignonFenceCF484E.SignonFence题目大意给你n块木板,每块木板有高度Hi,q次询问每次询问在[l,r]区间中最大的长度为w的区间的最小值。思路将木板从大到小排序,建动态开点线段树维护区间最长子段,于是就可以二分高度,判断这个高度在[l,r]区间中存不存在长度大等于w的子段。代码#includeusingnamespacestd;#definedd(x)cou
Seast
·
2019-05-09 01:00
bzoj2006: [NOI2010]超级钢琴(
主席树
+优先队列)
[NOI2010]超级钢琴bzoj2006:超级钢琴思路对所有前缀和建权值线段树,先将所有右端点对应的最大的左端点丢进优先队列里,每次将优先队列队首的区间取出来后,将rk[r]++,从这个右端点对应的
主席树
区间中找到排名第
Seast
·
2019-05-09 01:00
bzoj3956: Count(
主席树
+单调栈)
bzoj3956:Count(
主席树
+单调栈)bzoj3956:Count思路对友好点对建边的话,可以看出最多只有2n条边,先用单调栈使所有左端点记录右端点,然后对左端点前缀建权值
主席树
,查询的时候只要判断
Seast
·
2019-05-09 00:00
Till I Collapse(
主席树
CF787E.TillICollapse(
主席树
)E.TillICollapse题目大意给你n个数让你划分区间,每个区间最多有k种不同的数,求划分的最少区间,输出k从1到n的答案。
Seast
·
2019-05-08 22:00
bzoj3932: [CQOI2015]任务查询系统(
主席树
)
bzoj3932:[CQOI2015]任务查询系统(
主席树
)[CQOI2015]任务查询系统思路按时间顺序建权值线段树,对于每个三元组,在Si的树上Pi的位置+1,Ei+1的树上Pi的位置-1,这样对于每次询问的时间区间
Seast
·
2019-05-08 22:00
蒟蒻的第一篇博客 [CTSC2008]网络管理
考虑不在树上,而是在区间上,如果没有修改的化,就是一个裸的
主席树
加上修改的化,可以发现每次的修改,相当于在[L,R]的区间上都去掉原来权值的影响,在加上新修改的权值的影响,但是直接操作的复杂度是O(
Taccaceae
·
2019-05-02 16:29
CTSC
树套树
Codeforces.765F.Souvenirs(
主席树
)
题目链接看题解觉得非常眼熟,总感觉做过非常非常类似的题啊,就是想不起来=v=。似乎是这道...也好像不是。\(Description\)给定长为\(n\)的序列\(A_i\)。\(m\)次询问,每次给定\(l,r\),求\(\min_{l\leqi,j\leqr,i\neqj}|A_i-A_j|\)。\(n\leq10^5,\m\leq3\times10^5\)。\(Solution\)离线,把询
SovietPower
·
2019-04-25 08:00
Codeforces 588E 树上
主席树
+Lca
Codeforces588E树上
主席树
+LcaCodeforces588EDuffintheArmy西安邀请赛网络赛J的升级版本,要求输出具体的方案,这题就没办法离线水过去了。
Seast
·
2019-04-23 03:00
树套树(线段树套Splay) 模板 + 详解
当初看不懂概念于是没管上个月看见某日报上讲了下发现莫名其妙地看明白了于是就照着概念自己又摸了下来于是差不多成型了然后通过@千年之狐_天才的帮助调了调细节(改权值空树ins时炸掉了然后改成先ins再del这个一定要记得啊qwq)好了开讲了前置知识Splay(对是我的)+线段树+由于询问和
主席树
差不多最好了解一下
Frocean_拾月氷海
·
2019-04-18 17:12
数据结构
【
主席树
】CC_PREFIXOR Prefix XOR
【题目】CC给定一个长度为nnn的序列aaa,有qqq个询问[l,r][l,r][l,r],回答区间内满足前缀异或和单调不降的区间[i,j][i,j][i,j]有多少个。强制在线。n≤4×105,ai≤109n\leq4\times10^5,a_i\leq10^9n≤4×105,ai≤109【解题思路】根据套路,我们首先肯定是求一个前缀异或和,然后要求sj⊕si−1≥sj−1⊕si−1s_j\op
Dream_Lolita
·
2019-04-15 21:29
数据结构-线段树
「HNOI2019」JOJO-
主席树
+kmp自动机
Description两种操作1xc在当前字符串末尾添加xxx个ccc字符。2x把当前字符串变为第xxx次操作之后的状态。每次操作后,输出当前字符串的nextnextnext数组只和。操作数≤105\leq10^5≤105,c≤104c\leq10^4c≤104。Solution2操作显然可以用离线建树解决。考虑如果一段前缀匹配一段后缀,那么除了第一段的字符,其他段的二元组(x,c)(x,c)(x
DSL_HN_2002
·
2019-04-15 14:07
数据结构——主席树
字符串——kmp/kmp自动机
「HNOI2019」JOJO-
主席树
+kmp自动机
Description两种操作1xc在当前字符串末尾添加xxx个ccc字符。2x把当前字符串变为第xxx次操作之后的状态。每次操作后,输出当前字符串的nextnextnext数组只和。操作数≤105\leq10^5≤105,c≤104c\leq10^4c≤104。Solution2操作显然可以用离线建树解决。考虑如果一段前缀匹配一段后缀,那么除了第一段的字符,其他段的二元组(x,c)(x,c)(x
DSL_HN_2002
·
2019-04-15 14:07
数据结构——主席树
字符串——kmp/kmp自动机
每日一题 2019/4/7
今天学一下
主席树
最简单的就是给你一个序列,询问是给定区间中第k大的数。
我超级膨胀
·
2019-04-07 21:14
每日一题
毒瘤(指题目名)
首先如果我们不考虑复杂度的话,直接
主席树
二分就能轻松解决了但是3e5的数据范围会让的算法跑得很慢,而且常数也比较大所以我们考虑换一个思路假如我们从小到大把点按权值排序,然后开始用并查集合并,记录下合并时的位置的值
ENESAMA
·
2019-04-01 19:06
线段树
并查集
思路题
bzoj4539: [Hnoi2016]树(
主席树
+倍增)
思路:真·树套树把每棵树所成一个点,然后相当于先把两个点跳到一个块中再求它们的lcalcalca,可以用
主席树
维护块中编号第kkk大来维护块中对应点,实现块于块之间的
SC.ldxcaicai
·
2019-03-25 18:44
数据结构
#
主席树
#
倍增
一些注意的点
素因数分解最后不要忘了判断>sqrt的素因子字典树求异或最值要提前插入0按字典序排序,可以相等,不要写成>
主席树
下推标记时,若儿子不存在要新开结点$x$的最大因子是$O(x)$的,范围大要开$longlong
uid001
·
2019-03-22 10:00
bzoj3932
首先将i这个任务的重要度的正值用前向星挂在l上,负值挂在r+1上(差分)对每个任务的重要度离散之后建一棵线段树,然后以时间为轴建一棵
主席树
细节贼多(因为某个#include#include#include
syh0313
·
2019-03-21 22:11
ACM-BZOJ
可持续化线段树(
主席树
) 算法模板与图解
#include#include#include#include#include#include#include#include#definelowbit(a)((a)&(-a))#defineOUTfreopen("out.txt","w",stdout)#definemem(a,b)memset(a,b,sizeof(a))#defineDEBUG(a)cout>1;if(p>1;if(k>t
bestsort
·
2019-03-21 16:29
数据结构
树上乱搞
BZOJ 4026: dC Loves Number Theory 【
主席树
二维数点】
题目传送门题目分析:ans[l,r]=[l,r]ans[l,r]=[l,r]ans[l,r]=[l,r]区间乘积∗∏p出现在区间中的质因数中p−1p*\prod_{p出现在区间中的质因数中}\frac{p-1}{p}∗∏p出现在区间中的质因数中pp−1对于这种出现过就加入的贡献,我们发现不能直接用原来的前缀和+差分的思路,对于这种问题有一个套路:对于iii位置分出的一个质因数ppp,记下它上一次出
Master.Yi
·
2019-03-20 12:15
主席树
【阈值+SA+倍增+
主席树
】BZOJ5304 [HAOI2018] 字串覆盖
【题目】lydsy给定两个字符串A,BA,BA,B以及一个参数KKK,有QQQ次询问每次给定(s,t,l,r)(s,t,l,r)(s,t,l,r),令T=A[s…t],P=B[l…r]T=A[s\dotst],P=B[l\dotsr]T=A[s…t],P=B[l…r],每次若TTT的一个子串与PPP相同,就可以删掉TTT的这个子串然后获得K−iK-iK−i的收益,其中iii为初始AAA中这个子串的
Dream_Lolita
·
2019-03-13 21:32
数据结构-线段树
其他-贪心
字符串-后缀数组
其他-阈值
bzoj5371: [Pkusc2018]星际穿越(
主席树
)
传送门题意简述:给一个序列,对于第iii个位置,它跟[limi,i−1][lim_i,i-1][limi,i−1]这些位置都存在一条长度为111的无向边。称dist(u,v)dist(u,v)dist(u,v)表示(u,v)(u,v)(u,v)间最短路长度。qqq次询问,每次给出l,r,xl,r,xl,r,x,求∑i=lrdist(i,x)\sum_{i=l}^rdist(i,x)∑i=lrdis
SC.ldxcaicai
·
2019-03-09 15:14
#
主席树
主席树
(知识学习+板子总结)
概念
主席树
以前i个值建第i棵线段树,新来的值只会新开一条链,对于第一棵树而言,即普通的权值线段树,或者理解成一条链也无妨结构体的权值线段树写法利用前缀和的方法统计[l,r]内各个数出现的数量前提保证a1
Code92007
·
2019-02-04 16:22
知识点总结
主席树
(知识学习+板子总结)
概念
主席树
以前i个值建第i棵线段树,新来的值只会新开一条链,对于第一棵树而言,即普通的权值线段树,或者理解成一条链也无妨结构体的权值线段树写法利用前缀和的方法统计[l,r]内各个数出现的数量前提保证a1
Code92007
·
2019-02-04 16:22
知识点总结
bzoj2989: 数列(二进制分组+
主席树
)
主席树
写错调题2h+2h+2h+体验极差。题意简述:给一堆点,支持加入一个点,询问有多少个点跟(x,y)(x,y)(x,y)曼哈顿距离不超过kkk。思路:题目要求的是对于一个斜着的正方形的查询。
SC.ldxcaicai
·
2019-01-21 18:00
#
主席树
#
二进制分组
【[湖南集训]谈笑风生】
主席树
板子了首先看到这个暴力异常的题面,感觉做了这道题的会没命的首先先考虑\(b\)在\(a\)子树内部的情况,这个样子的话我们需要知道子树内部所有深度小于等于\(deep[a]+k\)的点带来的贡献是是多少
asuldb
·
2019-01-01 21:00
【[NOI2010]超级钢琴】
我竟然又在写
主席树
现在可是九月啦,我却还在写这种noip不可能考的算法我觉得我真的要凉题意很明确,就是给你一个序列,让从中选择\(k\)段连续的序列,长度必须大于等于\(L\)小于等于\(R\),让这\
asuldb
·
2019-01-01 21:00
数据结构7——
主席树
初步
好吧为什么我突然想起来要去写
主席树
呢?因为在做codeforces787E这题的时候,我用了二分+剪枝的算法莫名其妙的过了,然而时间复杂度算出来感觉不对。
frankchenfu
·
2018-12-31 23:15
数据结构
题解
主席树
工作原理
主席树
工作原理如果只用“数值区间”的线段树是不能求出“区间第k大”的,因为它只能求出一个序列整体的“第k大”,而不能拓展到任意区间。
_Jim_
·
2018-12-17 00:32
ACM笔记-2串树
[
主席树
][学习笔记]
可持久化线段树
可持久化线段树
就是支持历史版本的查询和修改的线段树。
主席树
就是
可持久化线段树
的一种思想如果正常情况下我们想要保留每个历史版本的话。那么假如有n次操作,就要搞n棵线段树。
wxyww
·
2018-12-11 19:00
[bzoj2588][ Count on a tree]
题目链接思路查询区间第k小,考虑
主席树
。因为是从u到v的简单路径上,考虑将路径分为从u到lca和从lca到v两部分。所以对于每个点都维护出从根节点到当前节点中的点。
wxyww
·
2018-12-11 19:00
[bzoj3524][Couriers]
所以只要用
主席树
查询出区间内第\((r-l+1)/2+1\)大,然后再去查这个数在这个区间内出现次数,就行了。
wxyww
·
2018-12-11 19:00
[luogu3834][
可持久化线段树
1(
主席树
)]
题目链接思路裸的
主席树
。查询的时候,通过相减求出区间内左子树中数的个数a。然后判断要查找的k是否比这个z要大。如果比这个值大,那么就去右子树中查找第k-z大,否则去左子树中查找第k大。
wxyww
·
2018-12-11 19:00
BZOJ3524
主席树
大水题本来这个
主席树
写的是bzoj2489,结果发现是个假算法然后顺手改了改把这道题A了最近写
主席树
越来越6了呢#includeusingnamespacestd;constintN=5e5;intA[
Gipsy_Danger
·
2018-12-09 11:07
数据结构
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他