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】4012: [HNOI2015]开店-点分树/树剖+
主席树
传送门:bzoj4012这题码+调试就花了一中午和一下午。。。最后发现问题都是有地方没开longlonglong\longlonglongTAT。。。法2的代码比较有技巧性(还不太熟。题解法1(点分树):首先点分治处理出v:v:v:每个重心到其所管辖子树中每个点的距离,压进vector后按年龄排序,转成距离的前缀和,fv:fv:fv:该点点分树中的父亲结点到这颗子树每个点的距离,同样压进vecto
ccosi
·
2018-12-04 18:50
树链剖分
点分树
主席树
数据结构与算法分析
算法分析算法分析二、查找二分查找Fibonacci查找插值查找三、排序直接插入排序折半插入排序冒泡排序选择排序归并排序计数排序桶排序快速排序希尔排序堆排序基数排序四、线性表栈队列五、树并查集线段树划分树
主席树
Enjoy_process
·
2018-11-26 22:22
【数据结构】
A - K-th Number POJ - 2104 -
主席树
第一弹-第K大的数
感谢:http://www.cnblogs.com/zyf0163/p/4749042.htmlhttps://blog.csdn.net/qq_24451605/article/details/49031123裸题多次查询给定区间L—R内第K大的数#include#include#includeusingnamespacestd;#definemaxn123456structnode{intl,
SDUTACMer_亓玉宁
·
2018-11-25 12:20
搜索进阶
线段树
主席树
求区间[L,R]内小于等于x的个数【模板】
文章目录题目链接:hdu4417题目链接:hdu4417SuperMario牛客小白月赛9Ehdu4417/*
主席树
求[L,R]内小于等于x的个数*/#include"bits/stdc++.h"usingnamespacestd
SwustLpf
·
2018-11-23 12:45
可持久化数据结构
模板
牛客小白月赛9-E 换个角度思考
地址:https://ac.nowcoder.com/acm/contest/275/E思路:
主席树
||树状数组
主席树
Code:#include#include#includeusingnamespacestd
z岁月无声
·
2018-11-21 17:20
算法
牛客
树状数组
主席树
深度剖析
主席树
(静态)
主席树
(chairmantree)(据说是被chairman传开的)它是一种专门用来实现求区间第K大这类操作的数据结构Q:这不是分块轻松解决的事吗?
YYHS_WSF
·
2018-11-16 09:41
主席树
深度剖析系列
浅谈
主席树
可持久化数据结构可持久化数据结构就是支持历史询问的数据结构。比如一共有\(5411\)次操作,我问你第\(251\)次操作之后这个数据结构长啥样,你能在约束的时间空间内回答出来就算支持了可持久化,否则就不算。一种很××的做法就是每次更改构之后我都把它保存下来,然后你问哪次我就去哪次里面找就是了。但是这显然不优秀。然后前辈们发现,每次修改只会让该数据结构某部分与之前不同,那就只需要记录这不同的部分就
AKMer
·
2018-11-14 10:00
主席树
入门详解+题目推荐
主席树
学名
可持久化线段树
,就是这个可持久化,衍生了多少数据结构为什么会有
主席树
这个数据结构呢?它被发明是用来解决什么问题的呢?
子谦。
·
2018-11-06 16:00
2018.10.31 bzoj3339&&3585mex(
主席树
)
传送门双倍经验直接上
主席树
,每个叶节点维护这个值出现的最右区间,非叶子节点维护当前值域内所有最右区间的最小值。查询的时候只用在以root[qr]root[qr]root[qr]为根的树上面二分。
SC.ldxcaicai
·
2018-10-31 20:14
#
主席树
主席树
文章目录前置知识
主席树
在本题的思想在某提高组模拟赛中出现了一道
主席树
的裸题.标算乱七八糟,胡搞毛搞嘻嘻哈哈.
Fuko_Ibuki
·
2018-10-27 15:09
数据结构
主席树
【BZOJ3123】[SDOI2013] 森林(启发式合并
主席树
)
前置技能:树上
主席树
做这道题目,我们首先要会树上
主席树
。关于树上
主席树
,这有一道很好的例题:【洛谷2633】Countonatree(只包含此题的询问操作)。
chenxiaoran666
·
2018-10-27 15:26
BZOJ
启发式合并
主席树
【洛谷2468】[SDOI2010] 粟粟的书架(二合一)
而对于另一种情况,R=1,C≤500000R=1,C\le500000R=1,C≤500000,就需要使用
主席树
了。LinkLinkLink
主席树
详见博客可持
chenxiaoran666
·
2018-10-27 12:41
洛谷
二分
主席树
2018.10.24 NOIP2018模拟赛 解题报告
T1T1T1:query(点此看题面)熟悉
主席树
的人都知道,这是一道
主席树
查询区间排名的模板题。
chenxiaoran666
·
2018-10-25 07:50
比赛
Kth number HDU - 2665
可持久化线段树
主席树
题解求区间第K大
主席树
模版AC代码#include#includeusingnamespacestd;typedeflonglongll;constintINF=0x3f3f3f3f;constintMAXN
CaprYang
·
2018-10-17 22:44
_数据结构_
主席树
算法模板:
主席树
模板
pascal
主席树
模板//
主席树
模板vari,n,m,total,ans,x,y,z:longint;root:array[0..100000]oflongint;t:array[0..4000000,1
JZHu_Ming_Han
·
2018-10-15 14:00
模板
主席树
2018.06.27 NOIP模拟 节目(支配树+
可持久化线段树
)
传送门首先这题我们要用到一个叫做支配树(dominatordominatordominatortreetreetree)的东西,还有一个叫做
主席树
的东西。
SC.ldxcaicai
·
2018-10-11 22:20
#
线段树
#
支配树
初学树套树:线段树套Treap
前言树套树是一个十分神奇的算法,种类也有很多:像什么树状数组套
主席树
、树状数组套值域线段树、zkwzkwzkw线段树套vectorvectorvector等等。
chenxiaoran666
·
2018-10-06 12:20
线段树
平衡树
树套树
2018.09.30 bzoj3551:Peaks加强版(dfs序+
主席树
+倍增+kruskal重构树)
查到询问的子树之后就可以用dfs序+
主席树
统计答案了。
SC.ldxcaicai
·
2018-09-30 14:04
#
主席树
#
kruskal
#
倍增
#
dfs序
【BZOJ】5343: [Ctsc2018]混合果汁
主席树
&二分
按ddd建
主席树
。二分查询即可。
ccosi
·
2018-09-20 21:31
二分
主席树
区间第k大(静态)——
主席树
Description给定一个长度为n的序列,m个询问,每个询问的形式为:L,r,k表示在[L,r]间中的第k大元素。Input第1行:2个数,n,m表示序列的长度和询问的个数第2行:n个数,表示n个数的大小第3-m+2行:每行3个数,L,r,k表示询问在[L,r]区间内第k小的元素Output对于每个询问,输出答案。SampleInput721526374153271SampleOutput32
DancingZ
·
2018-09-12 21:45
数据结构
线段树
主席树
【BZOJ】4771: 七彩树 -线段树合并&
主席树
&set
传送门:bzoj4771题解为满足深度和子树两个限制,预处理出dfsdfs序和每层的点,然后按深度递增,dfsdfs序为下标建立
主席树
,每次询问查询(rt[depx+d],in[x],ot[x])(rt
ccosi
·
2018-08-29 16:57
线段树
set
主席树
线段树 标记永久化
例如用这种方式写一棵
可持久化线段树
,因为每次pushdown都相当于继续之前延迟了的更新操作,所以得开新的节点,然后开着开着可能就爆内存了…..一种更好的方法就是用
Apale_7
·
2018-08-27 20:36
数据结构
bzoj3720: Gty的妹子树
主席树
+分块重构
bzoj3720:Gty的妹子树**Description我曾在弦歌之中听过你,檀板声碎,半出折子戏。舞榭歌台被风吹去,岁月深处尚有余音一缕……Gty神(xian)犇(chong)从来不缺妹子……他来到了一棵妹子树下,发现每个妹子有一个美丽度……由于Gty很哲♂学,他只对美丽度大于某个值的妹子感兴趣。他想知道某个子树中美丽度大于k的妹子个数。某个妹子的美丽度可能发生变化……树上可能会出现一只新的妹
lvzelong2014
·
2018-08-25 16:06
数据结构-主席树&&二维线段树
分治结构-分块
【Codechef】【
主席树
维护DP】【SnackDown 2017 Online Elimination Round】PREFIXOR: 异或前缀
lrrgt[i]−∑i=lri−∑i=l&rgt[i]>rrrgt[i]−r∑i=lrmin{rgt[i],r}−i=∑i=lrrgt[i]−∑i=lri−∑i=l&rgt[i]>rrrgt[i]−r只要用
主席树
维护就可以了
Sdywolf
·
2018-08-24 10:33
codechef
主席树
「BZOJ2653」middle-二分+
主席树
Decription回答QQ个这样的询问:序列ss的左端点在[a,b][a,b]之间,右端点在[c,d][c,d]之间的子序列中,最大的中位数。其中ausingnamespacestd;constintmaxn=20005;intn,A[maxn],Id[maxn],Q;inlineintgi(){charc=getchar();while(c'9')c=getchar();intsum=0;wh
DSL_HN_2002
·
2018-08-20 16:38
文章类型——题解
数据结构——主席树
算法——二分
线段树详解
huangzihaoal/p/11161024.html目录前言什么是线段树什么是区间加法线段树的原理及实现储存方式初始化单点修改区间修改懒惰标记相对标记和绝对标记下传标记区间查询指针储存和动态开点扩展及应用权值线段树
可持久化线段树
Alexander__菜鸡
·
2018-08-20 15:29
递归
图论
数据结构
BZOJ3673 可持久化并查集 by zky 【
主席树
】
BZOJ3673可持久化并查集byzkyDescriptionn个集合m个操作操作:1ab合并a,b所在集合2k回到第k次操作之后的状态(查询算作操作)3ab询问a,b是否属于同一集合,是则输出1否则输出00usingnamespacestd;#defineN200010intn,m,tot=0;intrt[N],ls[N],rs[N],val[N],dep[N];voidbuild(int&t,
Dream_Maker_yangkai
·
2018-08-19 15:33
c++
BZOJ
主席树
数据结构
可持久化AC自动机
其实就是
可持久化线段树
的模板题线段树不会看这里#includeconstintN=1000005;usingnamespacestd;inta[N],n,m,q,rt[N*20];intlc[N*20]
ezoiHY
·
2018-08-17 08:33
数据结构
学习笔记
线段树
可持久化
HDU 2665 Kth number 【
主席树
】【第K小】
KthnumberTimeLimit:15000/5000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):16136AcceptedSubmission(s):4888ProblemDescriptionGiveyouasequenceandaskyouthekthbignumberofainteval.
Head_Hard
·
2018-08-15 22:12
主席树
【NOIP提高A组模拟2018.8.13】简单的区间(在线分治(树上启发式合并 或 分治中心) 或 离线分治(
主席树
或桶))
5807.【NOIP提高A组模拟2018.8.13】简单的区间Problemn≤3∗105,k≤106n≤3∗105,k≤106Solution首先考虑分治.对于一个区间[l,r][l,r],我们考虑其中最大的数位置在mm,那么区间可以被分成两段,[l,m],[m+1,r][l,m],[m+1,r]那么这个时候考虑枚举小的那一段的位置,大的那一段可以离线处理,具体的,我们可以把问题转化为在大的那一
Algor_pro_king_John
·
2018-08-13 20:50
浅谈标记永久化
pid=4348这是到经典的
主席树
练习题,然而再区间修改的时候要用到标记永久化。标记永久化怎么做呢?首先标记永久化肯定是不下传,我们只需在询问的过程中计算每个遇到的结点对询
lahlah_
·
2018-08-13 11:56
主席树
2018暑期集训 子串查询(
主席树
+后缀数组)
题面:单点时限:2.0sec内存限制:512MB现在Jack有一个只由只由小写字母组成的字符串S,现在他想进行下面的查询:查询S中[l,r]子串第2次出现时第一个字母的位置。输入格式T组输入对于每组输入,第一行输入一个n,m代表S的长度和查询的次数。接下来m行,每行输入一组l,r,代表查询的子串。(1≤n,m≤100000,1≤l≤r≤n)输出格式对于每组查询,输出子串l,r第2次出现的位置,如果
codancer
·
2018-08-09 16:07
动态规划--LIS
可持久化专题(三)——可持久化并查集
它主要建立于可持久化数组的基础之上(而可持久化数组的实现是完全基于
主席树
的),因为这样就可以去访问一些历史版本从而实现可持久化了。LinkLinkLink
主席树
详见博客可持久化
chenxiaoran666
·
2018-08-08 20:57
并查集
可持久化
主席树
可持久化专题(二)——可持久化数组的实现
前言呃,首先声明,看这篇博客前,最好先去学一学
主席树
,毕竟可持久化数组的实现是完全基于
主席树
的(那些乱七八糟的玄学算法请走开)。
chenxiaoran666
·
2018-08-08 10:12
可持久化
主席树
可持久化专题(一)——浅谈
主席树
:
可持久化线段树
由于数据结构这东西真的太玄学了,学这个
主席树
我真的学了很久。简介
主席树
为什么叫
主席树
?
chenxiaoran666
·
2018-08-08 09:46
主席树
可持久化
主席树
SPOJ - DQUERY query 【
主席树
】询问区间中不同的数字个数 and HDU - 5919 【
主席树
求不同个数 + 思维】
传送门题目大意:询问区间不同数的个数有多少个.做法:
主席树
维护,也就是如果当前这个数没有出现过,那么我们就新开一颗线段树维护,区间长度++,如果是之前出现过,那么把之前出现的位置的线段树先减掉,然后再在当前这颗线段树再加回去
Anxdada
·
2018-07-30 10:04
主席树
计蒜之道 初赛第一场 百度科学家(困难) 【
主席树
优化建图】
传送门题目大意:太长了,自己看.思路:主要是优化一个问题,向区间连边,那么就可以用线段树优化,但是这个带修改点,也就是要加入新的点,所以就用
主席树
来优化建图,每一个子节点就作为点本身,然后其他的还是一样
Anxdada
·
2018-07-30 09:07
主席树
线段树(合并/分治)&&重/长链剖分&&
主席树
专题(持续更新中)
文章目录一篇与线段树有关的sbPDF常规线段树(简单)线段树入门操作
主席树
(中等)线段树与算法(中等)线段树分治(中等)线段树合并线段树/树剖维护DDP(中等)线段树一些妙题线段树高端操作(偏难)李超线段树吉司机类线段树线段树与均摊分析树链剖分综合
SC.ldxcaicai
·
2018-07-28 16:09
#
线段树
#
树链剖分
#
线段树合并
#
线段树分治
#
长链剖分
#
二进制分组
POJ 2104 K-th Number(
主席树
,区间第K大的数)
DescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastructurethatwouldbeabletoreturnquicklyk-thorderstatistics
相思明月楼
·
2018-07-27 16:14
算法
数据结构
刷题之路
「Luogu4755」Beautiful Pair-
主席树
+启发式分裂
Decription小D有个数列{a}{a},当一个数对(i≤j)(i≤j)(i≤j)(i≤j)满足aiai和ajaj的积不大于ai,ai+1,⋯,ajai,ai+1,⋯,aj中的最大值时,小D认为这个数对是美丽的.请你求出美丽的数对的数量。Solution考虑分治,对于区间[L,R][L,R]。每次找到区间中的最小值所在位置minposminpos,然后枚举[l,minpos][l,minpos
DSL_HN_2002
·
2018-07-24 22:57
文章类型——题解
数据结构——主席树
算法——分治/最值分治
主席树
静态区间第k大模板
#includeusingnamespacestd;constintmaxn=100005;intn,m;intin[maxn],num[maxn];intsum[maxn*30],lc[maxn*30],rc[maxn*30],rs[maxn];inttot;voidbuild(int&rt,intl,intr){rt=++tot;sum[rt]=0;if(l==r){return;}intmi
Cymbals
·
2018-07-21 16:29
ACM
主席树
【BZOJ3545】【BZOJ3551】【ONTAK2010】Peaks(Kruskal重构树,倍增,
主席树
)
Description在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如果无解输出-1。BZOJ3551强制在线。SolutionKruskal重构树。考虑Kruskal的加边过程,将边从小到大加入的同
Hany01
·
2018-07-20 22:34
BZOJ
Kruskal重构树
倍增
主席树
牛客网多校赛第一场 J Different Integers
主席树
被卡,后来换了树状数组就可以了。AC代码如下:#include#include#include#inclu
LFhase
·
2018-07-19 21:51
ACM
高级数据结构
可修改
主席树
普通
主席树
普通
主席树
比较简单就是很多个权值线段树每一次加进去log个节点(每层一个),剩下的节点用原来的线段树中的节点直接连到新节点上就好了线段树image插入节点image
主席树
image
主席树
拆开之后
wawawa8
·
2018-07-19 09:10
SPOJ3267 D-query(
可持久化线段树
)
题意:输入N个数字,查询区间[L,R]中有多少个不同的数字(第i个数字为a[i])思路:要维护的是不同的数字的数量,所以每个数只记最后出现的那一次。对N个位置每个位置建一棵线段树,线段树维护的是插入a[i]后树上各区间数字的数量。如果a[i]这个数字在前面被插入过,就在新建的树中把包含a[i]的上一个位置的所有区间的值-1,然后再照常插入a[i],因此要用一个数组记录a[i]上次插入时的位置。查询
Apale_7
·
2018-07-18 20:23
数据结构
[hdu 4348] To the moon
主席树
区间修改模板,用了标记永久化。
DT_Kang
·
2018-07-17 19:32
数据结构之分块
1)数据结构能接受的数据范围分块基本上能搞2)分块代码短,容易调试这两个优点不是秒掉
主席树
,树套树,splay……一、基础分块hzwer入门8题:传送门分块的大体模板没什么好讲的,但是注
DancingZ
·
2018-07-11 21:20
数据结构
分块
优秀
数据结构
分块
洛谷 P3157 [CQOI2011]动态逆序对(
主席树
+树状数组)
传送门做这题前请先学动态第k小,这里blog。首先我们有对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。那么第一次输出时直接输出序列的逆序对个数,然后问题就转化为删去某个元素时删去的逆序对数。若删去元素的位置为x,它产生的贡献就是原序列中区间[1,x-1]中大于x的数的个数与区间[x+1,n]中小于x的数的个数加上前面删去的数与x组成的逆序对个数(防止删两次)。前面的原序列中数量可
Dawn_LLLLLLL
·
2018-07-11 14:37
树状数组
主席树
洛谷 P2468 [SDOI2010]粟粟的书架(
主席树
+二分)
传送门首先我们知道,这题数据有两部分:对于50%的数据,满足R,C≤200,M≤200,000;另有50%的数据,满足R=1,C≤500,000,M≤20,000;对于前50%的数据,我们可以直接二分取书的页数下界解决。于是我们定义to[i][j][k]表示矩阵[1,1]至矩阵[i,j]中所有不小于k的数的总和,num[i][j][k]为它们的个数。于是从[a,b]到[c,d]中不小于k的数的和为
Dawn_LLLLLLL
·
2018-07-11 11:22
主席树
二分
洛谷 P2617 Dynamic Rankings(树状数组+
主席树
)
传送门动态区间第k小主要需要学习两种算法,一种是树状数组,另一种是
主席树
。也就是树状数组套
主席树
,可以去我以前的blog里看。
Dawn_LLLLLLL
·
2018-07-10 10:59
树状数组
主席树
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他