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/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
数据结构
【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
主席树
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
文章类型——题解
数据结构——主席树
算法——二分
线段树详解
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
主席树
数据结构
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
主席树
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他