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
主席树
可持久化数据结构(平衡树、trie树、线段树) 总结
然而好像没有平衡树还是题解包:T1:森林树上
主席树
+启发式合并。然而好像知道标签就没啥了。
真-不能AKt
·
2019-12-19 07:00
洛谷 P4137 Rmq Problem/mex 题解
题面首先,由于本人太菜,不会莫队,所以先采用
主席树
的做法;离散化是必须环节,否则动态开点线段数都救不了你;我们对于每个元素i,插入到1~(i-1)的
主席树
中,第i颗线段树(权值线段树)对于一个区间[l,
神之右大臣
·
2019-12-13 20:00
【日记】12.10
12.10日记
主席树
P2617(带修
主席树
模板):给定n个数的序列,查询区间第k小+单点修改。本题非强制在线。思路:其实
主席树
也只是一种复用重复空间的思想,并不是一种特定的数据结构。
diorvh
·
2019-12-11 01:00
[SCOI2015]情报传递[树剖+
主席树
]
\)到\(y\)多少个人有风险…(大于c)的都有风险…每天风险值+1看起来…不太可做…每次要整棵树+1复杂度也需要\(log^2\)的树套树吧但是显然不用啊查询的时候减掉就可以了…所以直接树剖上面无脑
主席树
就可以了啊
_Isaunoya
·
2019-12-10 22:00
[SDOI2010]粟粟的书架 [
主席树
]
[SDOI2010]粟粟的书架考虑暴力怎么做显然是提取出来(x2-x1+1)*(y2-y1+1)个数字拿出来然后从大到小排序然后就可以按次取数了…然而接下来看数据范围\(50\%\r,c\leq200\)\(50\%\r=1,c\leq5*10^5\)值域\(\in[1,1000]\)对于前50%可以用个前缀和搞定…令\(sum_{i,j,k}\)为大于k的前缀和\(num_{i,j,k}\)为大
_Isaunoya
·
2019-12-10 14:00
【Luogu P3834】可持久化线段树(
主席树
)
主席树
就是对线段树的改进,使之可持久化。前置知识:动态开点线段树我们利用权值(值域)线段树统计区间内的数出现的次数。
Nanjo
·
2019-11-28 16:00
CSP-S2019游记&拆塔记
Day-inf四套NOI模拟降智Day0拆了一发新新本来想复习小圆脸结果拆了3h最后还没带任意门没有帘子可还行第一天由于没发现被子可以抽出来就没睡好Day18:30开考,0.5h看题+切T11h切T2(
主席树
gmh77
·
2019-11-19 17:00
[BZOJ1852] [MexicoOI06]最长不下降序列
经过和神仙的讨论基本可以确定是对的了考虑如下贪心(我将问题反过来考虑,也就是要满足\(A_i>\max_{j=1}^{jB_i,{k\in[j+1,i-1]}\rbrace\right|\),这个我们可以离散+
主席树
在线搞定
chasedeath
·
2019-11-09 12:00
[备份]算法模板大集锦
二、目录1、网络流Dinic算法2、Tarjan算法3、倍增LCA4、AC自动机5、
主席树
6、BKDRHash三、正文1、网络流Dinic算法1#includ
jinkun113
·
2019-11-08 16:00
BZOJ-1146: [CTSC2008]网络管理Network(BIT+SBT+Binary Search)
解法一:这道题很容易就可以联想到
主席树
,但是
主席树
维护的是序列,那么就直接做成DFS序列,每个点拆成一个进点(in[v])和出点(out[v]),然后对于每个进点+w[i],每个出点-w[i],又要支持修改
AmadeusChan
·
2019-11-06 06:40
[SCOI2015]情报传递
洛谷树剖不知道大佬们疯狂用
主席树
为何#include#definerereturn#defineinc(i,l,r)for(inti=l;iinlinevoidrd(T&x){charc;boolf=0
凉如水
·
2019-10-23 10:00
[CSP-S模拟测试]:树(树上LIS+
主席树
+线段树)
题目传送门(内部题78)输入格式第一行输入两个整数$n,q$,表示节点数和询问数。第二行输入$n$个整数$w_i$,表示第$i$个点的智商。第三行至第$n+1$行每行输入两个数$x,y$,表示树上一条边。第$n+2$行至第$n+q+1$行每行三个数$u,v,c$表示一次探究。(保证$v$是$u$的祖先)输出格式输出$q$行,每行两个数表示探究过程中$cwystc$需要努力学习的次数。样例见下发文件
HEOI-动动
·
2019-10-22 19:00
浅谈
主席树
0/0:引言
主席树
,全名可持久化线段树,由一位名叫黄嘉泰(hjt)的大神在考场上yy出来。所谓可持久化线段树,就是可以查询历史更新信息的线段树。
hzoi_Joe
·
2019-10-16 18:00
# 可持续化权值线段树(
主席树
)各种变体
目录可持续化权值线段树(
主席树
)各种变体简单介绍静态区间第k小动态区间第k小可持续化权值线段树(
主席树
)各种变体(待更新)今天终于有机会把暑假留在编辑器中的
主席树
搬出来晾一晾(雾),图床搭在GitHub
Sstealer
·
2019-10-15 21:00
粟粟的书架题解
粟粟的书架题解第一次见到这种二合一的题,开始的时候居然死磕二维
主席树
,又是屈辱看题解系列,其实很比较好做第一部分\(R,C≤200,M≤200000,1≤Pi,j≤1,000\)这一部分可以用两个数组来记录
lsoi_ljk123
·
2019-10-12 21:00
e[树上
主席树
]
主席树
掌握不牢啊之前那棵树继承父亲的树就行了挺难打的,细节很多,具体还是看代码代码#includeusingnamespacestd;#definelllonglong#definels(x)tr[x]
.texas
·
2019-10-12 20:00
「题解」:$e$
题解话说一天考两个
主席树
这回事……正解可以叫树上
主席树
??(脸哥说也叫
主席树
上树???)对于树上的每一条链建
主席树
,支持链上查询前驱和后继。
hzoi_Joe
·
2019-10-12 06:00
「题解」:$d$
开场写了wqs二分,然后觉得不对最外围改成三分,大样例惨不忍睹,改写
主席树
A了。扯远了。正解贪心+堆。
主席树
也可以实现。我就按
主席树
的说了。首先是贪心。
hzoi_Joe
·
2019-10-11 17:00
树链剖分学习笔记
主体思路:1、通过轻重边剖分将树分割成多条链;2、再利用线段树、
主席树
等数据结构来维护这些链上的信息。所以我们可以说树链剖分本质上是一种优化暴力。
Hzoi-lyl
·
2019-10-11 17:00
[模板]
主席树
查前趋后继
复杂度证明1intgetpre(intx,intlas,intl,intr,intk)2{3if(siz[x]-siz[las]==0)return-1;4if(l==r)returnl;5intmid=(l+r)>>1,res=-1;6if(k>mid)res=getpre(rc[x],rc[las],mid+1,r,k);7if(~res)returnres;8returngetpre(lc[
hzoi_yzh
·
2019-10-11 16:00
模拟68
然后想了想可以树上
主席树
,就开始码,码+调大约2h,自测极限数据2.1s,感觉要完戏,看到没多长时间了,先去打了T3暴力。然后回来做T2,把求lca从倍增改成了树剖,快了1s,我以为我稳A了。
Hzoi_cbx
·
2019-10-11 15:00
模拟68 题解
接着看T2,发现似乎可以直接上
主席树
上树,然后想了想复杂度,直接找前趋后继,复杂度似乎很正确。T3只会暴力。然后就回去把T2切了,一遍过大样例自信不对拍。结果忘了在线这回事,一个小时之后才发现。
skyh
·
2019-10-11 12:00
主席树
板子 p2104
1#include2#include3#include4usingnamespacestd;5constintmaxn=1e5+10;6intn,m,cnt,root[maxn];7intb[maxn],a[maxn];8structnode{intl,r,sum;}T[maxn*40];9voidupdate(intl,intr,int&x,inty,intpos)10{11//这里&的这种用法
胖持之旅
·
2019-10-07 13:00
主席树
板子
主席树
#include#include#include#includeusingnamespacestd;constintN=200500;structnode{intl,r,sum;#definel(
Hs-black
·
2019-10-05 23:00
QDC day4
主席树
维护每一位(当然压位也是可以的但却不必要hash值维护每个区间的值然后就可以快速判断辣。我们还需要维护一个+1的操作这就涉及到简单的线段树上二分。和区间整体赋值问题。
chdy
·
2019-10-04 11:00
主席树
的妙用——Just h-index
题目传送门:https://ac.nowcoder.com/acm/contest/1107/C题意:给出一个区间,求最大的h,使得区间内至少有h个数大于等于h.思路:1.需要区间有序,那么就需要使用
主席树
&黑马
·
2019-10-02 17:00
luoguP4197:Peaks(Kruskal重构树+
主席树
)或者(点分树+离线)
题意:有N座山,M条道路。山有山高,路有困难值(即点权和边权)。现在Q次询问,每次给出(v,p),让求从v出发,只能结果边权x)<=p;然后离线求,把节点和询问排序,线段树就可以搞定了。O(Nlog^2N)这个做法可以参考:luogu5311。
nimphy
·
2019-09-29 17:00
打 板 子
(争取每周都打一轮)数据结构:并查集Trie可持久化Trie树状数组线段树树链剖分Splay动态树
主席树
树套树分块点分治cdq分治整体二分莫队带修莫队树上莫队树上带修莫队数学线性筛数论分块gcdexgcd
丶带带派大星
·
2019-09-28 18:00
[CSP-S模拟测试52]题解
A.平均数看到第K小,又确定跟平衡树/
主席树
没有关系,可以把问题转化为有K-1个答案比它小再考虑二分。二分平均值x,之后将原序列统一减去x。这时序列中区间和sum_r$,归并排序求逆序对即可。
Rorschach_XR
·
2019-09-28 15:00
浅谈
主席树
模板
静态区间第k大没什么好说的,就是个模板但还是在代码里解释一下吧;#include#include#includeusingnamespacestd;constintmaxn=2e5;inttot,n,m;intsum[(maxn>1;ls[root]=build(l,mid);rs[root]=build(mid+1,r);returnroot;}//bulid维护节点,返回节点intupdate
wzx_believer
·
2019-09-27 20:00
NOIP模拟测试49·50「养花·折射·画作·施工·蔬菜·联盟」
一套题养花题解分块\
主席树
这里我用的是
主席树
查询分段$1-(k-1)$找最大的,能向右找就向右找for(llnowl=1,nowr=k-1;nowlusingnamespacestd;#definellint
.texas
·
2019-09-24 17:00
GERALD07加强版:lct,
主席树
,边化点
Description:N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。传送门。lct这么神仙的东西一个题解都不写怎么行???神仙思路啊。其实不是很难但是的确不容易想到。我们考虑答案是什么。首先刚开始有n个点分别是联通块,然后你连了一些边使联通块减少了。怎么减少的呢?就是区间的边的生成树上边的数量。因为如果不是生成树上的边,那么一定与生成树上的边成环了而不会合并联通块
DeepinC
·
2019-09-22 13:00
2019网络赛总结
就像ccpc网络赛有一道后缀数组+
主席树
的题,知道是后缀数组,但是不知道要到底要怎么做。还有之前学的有些算法,很久没有用过,现在已经不太熟悉了。
YOONGI
·
2019-09-18 16:55
补题+题解
总结
线段树合并,分裂和分治
先说线段树合并如果你会写
主席树
或者平时使用结构题那种线段树,那么理解起来就毫无压力。
Roll_Keyboard
·
2019-09-18 14:17
BZOJ4771 七彩树 链并、
主席树
这样我们以\(dep\)作为下标建立
主席树
,每一次加入当前\(dep\)的
CJOIer_Itst
·
2019-09-16 15:00
【洛谷P2839】【BZOJ2653】middle【
主席树
】
题目大意:题目链接:洛谷:https://www.luogu.org/problem/P2839BZOJ:https://www.lydsy.com/JudgeOnline/problem.php?id=2653一个长度为nnn的序列aaa,设其排过序之后为bbb,其中位数定义为b[n2]b[\frac{n}{2}]b[2n],其中a,ba,ba,b从000开始标号,除法取下整。给你一个长度为nn
SSL_ZYC
·
2019-09-15 14:34
主席树
可持久化并查集加强版
题意:中文题目链接:AcWing270.可持久化并查集加强版前置知识:可持久化数组,
主席树
。每个版本用一个线段树来维护节点的父亲是谁,该联通块的节点数量,线段树只有叶子节点有意义,其余都是无意义的。
cy41
·
2019-09-15 10:01
线段树
Sequence II HDU - 5919 (
主席树
求区间内数字出现的次数)
题目链接:https://cn.vjudge.net/problem/HDU-5919题意:给你n个数,m个区间询问,找出区间内每种数字第一次出现的下标,然后找出下标里的中位数这个题可以倒着把数字更新,维护区间内不同数字出现的次数,对于每个历史版本维护的是最左边的第一次出现的数字#includeusingnamespacestd;constintmaxn=2e5+10;structnode{int
Cherry_93
·
2019-09-14 00:41
主席树
Sequence II HDU - 5919 (
主席树
求区间内数字出现的次数)
题目链接:https://cn.vjudge.net/problem/HDU-5919题意:给你n个数,m个区间询问,找出区间内每种数字第一次出现的下标,然后找出下标里的中位数这个题可以倒着把数字更新,维护区间内不同数字出现的次数,对于每个历史版本维护的是最左边的第一次出现的数字#includeusingnamespacestd;constintmaxn=2e5+10;structnode{int
Cherry_93
·
2019-09-14 00:41
主席树
SPOJ_10628_Count on a tree(树上第k大)
思路:树上的第k大值,跟区间第k大有些不同,区间第k大每个值在前一个值的基础上新建一棵树,而树上第k大则是在父亲节点的基础上新建一棵树,子节点的
主席树
都是从底下根节点累加出来的查询的时候,答案就是root
CY05627
·
2019-09-12 19:40
主席树
SPOJ_10628_Count on a tree(树上第k大)
思路:树上的第k大值,跟区间第k大有些不同,区间第k大每个值在前一个值的基础上新建一棵树,而树上第k大则是在父亲节点的基础上新建一棵树,子节点的
主席树
都是从底下根节点累加出来的查询的时候,答案就是root
CY05627
·
2019-09-12 19:40
主席树
Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined) F. Pathwalks(动态开点线段树)
题目n(nusingnamespacestd;constintN=1e5+10;intn,m,root[N],cnt;intans,u,v,w,num;//
主席树
动态开点思想structnode{intl
Code92007
·
2019-09-12 17:28
动态开点线段树
dp
Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined) F. Pathwalks(动态开点线段树)
题目n(nusingnamespacestd;constintN=1e5+10;intn,m,root[N],cnt;intans,u,v,w,num;//
主席树
动态开点思想structnode{intl
Code92007
·
2019-09-12 17:28
BZOJ3514 / Codechef GERALD07 Chef and Graph Queries LCT、
主席树
传送门——BZOJ传送门——VJ考虑使用LCT维护时间最大生成树,那么对于第\(i\)条边,其加入时可能会删去一条边。记\(pre_i\)表示删去的边的编号,如果不存在则\(pre_i=0\),如果是自环则\(pre_i=i\)。因为连通块数量等于点数减树边数量,而对于一组询问\([l,r]\),当\(pre_iusingnamespacestd;intread(){inta=0;charc=ge
CJOIer_Itst
·
2019-09-12 14:00
2019南昌网络赛I:Yukino With Subinterval(CDQ) (树状数组套
主席树
)
题意:询问区间有多少个连续的段,而且这段的颜色在[L,R]才算贡献,每段贡献是1。有单点修改和区间查询。思路:46min交了第一发树套树,T了。稍加优化多交几次就过了。不难想到,除了L这个点,其他的点都可以只统计这一段的段首。把位置看成x,颜色看成y,就成了二维平面就矩形内点的个数,这就是裸的树套树或者CDQ了。树套树:34**ms。/*2019南昌网络赛I。询问区间有多少个连续的段,而且这段的颜
nimphy
·
2019-09-12 10:00
2019 Xuzhou Online Contest Problem I Query
很脑残的写了
主席树
,其实树状数组就能解决#includeusingnamespacestd;constintN=2e5+10;inlinevoidread(int&x){charch;boolok;for
Gipsy_Danger
·
2019-09-11 16:23
数据结构
可持久化学习笔记合集
可持久化线段树$umm$因为这个是很久以前就会了的知识点所以只记下基本的想法$QwQ$就考虑因为每次改动的节点并不多,所以不需要改变的节点就直接继承历史记录就成,然后要改变的就改下,就欧克了然后因为作为
主席树
形态就不像线段树的形态那么优美了所以并没有什么左儿子就是乘二右二子就是乘二加一的说法
杰西卡!
·
2019-09-11 11:00
主席树
学习笔记
摘:
主席树
思想是每个位置都维护一个线段树,线段树的节点是值的范围,然后第i个线段树中某个区间[x,y]维护的是,1-i中数字在[x,y]范围内的个数。这里利用到了前缀和的思想。
草丛怪
·
2019-09-11 09:00
洛谷$P4755\ Beautiful\ Pair$ 最大值分治
left\{a_i\right\},i\in[l,r]$,且$a_l\cdota_r\leqa_x$现在枚举$l$,发现$r$就有一个范围了,就$a_r\leq\frac{a_x}{a_l}$,这个就可以用
主席树
维护下就成嘛
杰西卡!
·
2019-09-10 21:00
Hdu4348_To the moon(
主席树
)
题意:一个长度为n的数组,4种操作:(1)Clrd:区间[l,r]中的数都加1,同时当前的时间戳加1。(2)Qlr:查询当前时间戳区间[l,r]中所有数的和。(3)Hlrt:查询时间戳t区间[l,r]的和。(4)Bt:将当前时间戳置为t。思路:对于每一次区间加法都新建节点建一棵线段树,加法不用向下更新,懒惰标记最后加上就行了,查询的话就是某个根节点的线段树求和。#include#include#i
CY05627
·
2019-09-10 20:24
主席树
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他