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
可持久化线段树(主席树)
主席树
板子 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
关于查询区间最小没出现的自然数的cdq方法的可行性探讨
这道题显然有一个
可持久化线段树
的做法。首先我们意识到这个极广的值域没有什么用处。我们首先想到必然存在一个x\xx使答案为x\xx或者[1,x−1]\[1,x-1][1,x−1]中的最小的不存在的数字。
startaidou
·
2019-10-03 15:37
分治
主席树
的妙用——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
数据结构
可持久化学习笔记合集
本来只想着学下可持久化并查集但是感觉这个知识点也没有很难专门开一篇博客不至于,,,所以就一块儿写了$QwQ$
可持久化线段树
$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
主席树
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
主席树
Hdu6278_Just h-index(
主席树
)
思路:
主席树
可以求区间[l,r]的第k小,这里改造一下,求区间[l,r]中比val小的数有多少个。设区间内>=h的个数为w,题意是要w>=h。
CY05627
·
2019-09-10 20:50
主席树
Hdu6278_Just h-index(
主席树
)
思路:
主席树
可以求区间[l,r]的第k小,这里改造一下,求区间[l,r]中比val小的数有多少个。设区间内>=h的个数为w,题意是要w>=h。
CY05627
·
2019-09-10 20:50
主席树
2019CCPC网络赛 C - K-th occurrence HDU - 6704(后缀数组+ST表+二分+
主席树
)
题意求区间l,r的子串在原串中第k次出现的位置。链接:https://vjudge.net/contest/322094#problem/C思路比赛的时候用后缀自动机写的,TLE到比赛结束。学了后缀数组后,发现这题用后缀数组写还简单些。我们把样例aaabaabaaaab后缀排序后列出来:比如我们的l,r,k为2,3,2,那么先找到2,3表示的子串为aa,后缀数组的height数组表示的是相邻两个后
swineherd_MCQ
·
2019-09-10 18:00
The Preliminary Contest for ICPC Asia Xuzhou 2019
I.query由于是个排列,满足条件的对最多只有n*sqrt(n)个,于是把所有对找出来,由于没有带修操作,所以可以用
主席树
。
Huah_2018
·
2019-09-08 11:11
SPOJ3267——D-query(
主席树
)
题意:输入N个数字,查询区间[L,R]中有多少个不同的数字思路:
主席树
每个位置上保存一个值。
CY05627
·
2019-09-05 17:15
树状数组
主席树
SPOJ3267——D-query(
主席树
)
题意:输入N个数字,查询区间[L,R]中有多少个不同的数字思路:
主席树
每个位置上保存一个值。
CY05627
·
2019-09-05 17:15
树状数组
主席树
2015湖南ACM省赛I题 Internet of Lights and Switches(思维)
id=1646本来想用
主席树
来着,一看内存直接劝退。貌似只能用vector或map搞一搞了。
SnowLove
·
2019-09-02 23:00
The beautiful values of the palace 南京网络赛A(
主席树
)
Hereisasquarematrixofn*nn∗n,eachlatticehasitsvalue(nnmustbeodd),andthecentervalueisn*nn∗n.Itsspiraldeclinealongthecenterofthesquarematrix(thewayofspiraldeclineisshowninthefollowingfigure:Thegridinthel
hehedad
·
2019-09-01 23:51
数据结构
2019icpc南京网络赛_F_Greedy Sequence
分析第一种方法无脑
主席树
,求区间小于某个值的最大数。第二种方法是线段树,因为对于每个数\(i\),只有比他小的数才有用,所以从小到大枚举,在线段树中(此时所有值都小于\(i\)),查询区间最大值即可。
Keane1998
·
2019-09-01 20:00
Meatycake,51nod2117,树状数组
我一开始想的就是考虑一个点对不包含比它大一的点的区间的贡献,在考虑一个点对包含比它大一的点的区间的贡献,这两个东西可以用一个树状数组套
主席树
来维护,但是死活卡在2700ms过不了,无奈之下翻看题解。
Deep_Kevin
·
2019-08-30 21:23
Meatycake,51nod2117,树状数组
我一开始想的就是考虑一个点对不包含比它大一的点的区间的贡献,在考虑一个点对包含比它大一的点的区间的贡献,这两个东西可以用一个树状数组套
主席树
来维护,但是死活卡在2700ms过不了,无奈之下翻看题解。
Deep_Kevin
·
2019-08-30 21:23
2019CCPC网络选拔赛 hdu6703 array(
主席树
+set)
思路如果没有1操作,那么我们直接
主席树
就OK了。考虑不真正的进行修改,每次1操作就把a[pos]插进set,因为加10000000后肯定是大于n的,而k是小于等于n的,所以set里的数是可以用的。
swineherd_MCQ
·
2019-08-30 17:00
【HDU6704】K-th occurrence(后缀数组+二分+st+
主席树
)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6704题目:字符串s长度为n,q个询问。每个询问给出L,R,k,问[L,R]内的字符串第k次出现的位置解题思路:由L,R可以确定目标子串所在的后缀排名rank,目标子串长度为len=R-L+1,所以在rank上面找到一个最远的rank1,使得[rank1,rank]区间的LCP≥len,在rank下面找
_奶酪
·
2019-08-30 11:57
后缀数组
学习笔记:
可持久化线段树
(
主席树
):静态 + 动态
学习笔记:
可持久化线段树
(
主席树
):静态+动态前置知识:线段树。线段树分享可以看:@秦淮岸、@ZYzzz、@妄想の岚がそこに树状数组。
DMoRanSky
·
2019-08-29 02:00
Hdu2104(
主席树
)
主席树
入门可直接看上面的博客,下面的可以不看,自己摘录总结的
主席树
是一种
可持久化线段树
,所谓可持久化就是可保存历史版本。
CY05627
·
2019-08-28 22:17
主席树
Hdu2104(
主席树
)
主席树
入门可直接看上面的博客,下面的可以不看,自己摘录总结的
主席树
是一种
可持久化线段树
,所谓可持久化就是可保存历史版本。
CY05627
·
2019-08-28 22:17
主席树
HDU 6703 array(
主席树
)
题解对权值建
主席树
,维护区间最小值,插入一个数相当于这个数被ban,进行1操作相当于取消ban,如果真去实现修改会比较麻烦,由于这个序列是一个排列,我们对一些数
SnowLove
·
2019-08-24 21:00
2019 ccpc网络赛 hdu6704 K-th occurrence
求字符串中下标l到下标r这个子串第k次出现在字符串中的位置,不存在则输出-1.后缀数组:将所有后缀排序,height数组是比较第i个后缀和第i-1个后缀的最长公共前缀的长度rmq:求区间的最小/最大数
主席树
oneplus123
·
2019-08-23 22:37
ST表
后缀数组
主席树
「2019纪中集训Day23」解题报告
\(Sol\):整体二分
主席树
,注意常数因子带来的影响;全场只有我一个常数怪\(95\)分。时间复杂度\(O(q\log_2^2n)\)。\(Source\)://#
15owzLy1
·
2019-08-23 20:00
hdu6703 2019CCPC网络选拔赛 1002 array
我对
主席树
的理解再次升华了不难看出对于每次2操作,答案最大是n+1(因为每次更新是+10000000,永远不会占用n+1,而且k是保证=k的最小值(
主席树
实现),第二种是从这个set里找>=k的最小值(
Frozensmile
·
2019-08-23 17: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
其他