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
线段树合并
算法竞赛 常见算法数据结构总结
基本数据结构1.数组2.链表,双向链表3.队列,单调队列,双端队列4.栈,单调栈1.2中级数据结构1.堆2.并查集与带权并查集3.hash表自然溢出双hash1.3高级数据结构1.树状数组2.线段树,
线段树合并
AlanCong
·
2024-02-07 13:34
算法整理
11.搜索12.随机化13.其他1、基础数据结构数组链表、双向链表队列、单调队列、优先队列、双端队列栈、单调栈2、中级数据结构堆并查集、带权并查集Hash表自然溢出双Hash高级数据结构树状数组线段树、
线段树合并
平衡树
朱三分
·
2024-02-02 01:08
魔法少女LJJ 题解
Solution这题的各种操作,用并查集+
线段树合并
完成。如果你是被题目数据范围晃飞的,建议先去想想怎么做。先介绍一下
一棵油菜花
·
2024-01-30 06:10
题解篇
算法
c++
[学习笔记]左偏树
经常见于树上问题只关心子树的最大值的时候,可以用可并堆(PS:
线段树合并
也可以代替之,但是空间大;平衡树启发式合并也可以代替之,但是常数太大)打标记:[JLOI2015]城池攻占干掉骑士弹出的时候,别忘了判断堆是否为空
weixin_34414650
·
2023-11-03 16:35
数据结构与算法
[Lydsy2017省队十连测]公路建设
SOL:我们发现一棵生成树最多99条边,用
线段树合并
。
dengtan1959
·
2023-10-19 17:06
(树上启发式合并)dsu on tree 学习报告总结
只有对子树的询问2、没有修改一般这时候就可以强上dsuontree了update:可能特征1不会很显然,就是说题目中不一定明确的问你子树i的答案,可能是把问题转化后需要算子树的答案(妈妈再也不用担心我不会
线段树合并
了
rfyyy
·
2023-10-19 07:55
树的启发式合并
树的启发式合并
CF208E Blood Cousins
k级亲戚题解一定仔细读题md,是k级祖先,不是LCA为k级祖先我的做法是先倍增求点u的k级祖先然后统计k级祖先下深度为dep[u]点的个数想来想去没想到好方法,然后就dfs序+莫队莽过去了后来发现可以
线段树合并
cqbzcsq
·
2023-08-31 22:49
算法
莫队
深度优先
启发式算法
《算法竞赛进阶指南》------图论篇2
文章目录0x0E雨天的尾巴洛谷p4556(
线段树合并
+树上差分+树链lca)0x0FCF600ELomsatgelral(
线段树合并
)0x10天天爱跑步NOIP2016P1600(树链LCA和树上差分)
axtices
·
2023-07-25 17:26
图论
图论
算法
算法笔记-
线段树合并
线段树合并
前置知识:权值线段树、动态开点将两棵线段树的信息合并成一棵线段树。可以新建一颗线段树保存原来两颗线段树的信息,也可以将第二棵线段树维护的信息加到第一棵线段树上。
hydqiln
·
2023-06-24 11:32
算法
笔记
图论
数据结构
求相邻endpos的值
可以考虑set+启发式合并或者直接
线段树合并
voiddfs(intu,intfa){f[u][0]=fa;for(inti=1;i>1;if(!
Tearsゆ
·
2023-06-12 21:18
算法
线段树合并
讲解
线段树合并
:对多个有限制的动态开点线段树进行合并大部分情况下,限制是指单个线段树上只有一条或数条单链存在。不失一般性地,我们考虑每个线段树上只有一条单链的情况。
ZBHRuaRua
·
2023-04-07 05:33
ACM
数据结构
算法
acm竞赛
数据结构
树上
线段树合并
(模板题)
Acwing洛谷题意:给定一颗树,m次操作每次让树中一条路径上每个结点z物品携带个数+1求每个结点最终携带最多物品的种类是哪个,有多个就输出编号最小的思路:有两种写法:树链剖分+权值线段树、树上
线段树合并
阐上
·
2023-04-07 05:02
高级数据结构
#
LCA
知识点笔记
线段树
数据结构
算法
树
树上差分
线段树合并
(四道例题)
就是一个一个节点的合并,但是如果在n个要合并的线段树里,如果一共有m个元素,则配合动态开点,复杂度会均摊成一个惊人的O(mlogn)O(mlogn)O(mlogn)所以,在多次合并的均摊复杂度是非常优秀的.另外
线段树合并
还可以和线段树分裂一起构成维护一组线段树森林的方法我们每次合并一个点
Kalzn
·
2023-04-07 05:56
数据结构
线段树合并
关于
线段树合并
线段树合并
,顾名思义,就是将两个
线段树合并
成一个,并维护他们的各种信息。二叉树合并有下面两棵树:!
Simple World.
·
2023-04-07 05:26
树形数据结构
分治
搜索
c++
算法
数据结构专题-学习笔记:
线段树合并
数据结构专题-学习笔记:
线段树合并
一些Update1.前言2.详解3.总结4.参考资料一些UpdateUpdate2021/12/16:修改了一下垃圾回收部分的描述,改为更一般的描述空间回收并且加了一些解释说明
Plozia
·
2023-04-07 05:50
学习笔记
+
专项训练
数据结构
数据结构
算法
线段树合并
前置知识:权值线段树,动态开点。引入我们先来看一道题:永无乡包含nnn座岛,给出每座岛的重要度的排名,名次用111到nnn来表示。一开始有mmm条边连接,接下来有qqq次操作。操作分两种:Bxy表示在岛与岛之间修建一座新桥。Qxk表示询问当前与岛连通的所有岛中第重要的是哪座岛。第一眼看上去会发现权值线段树好像可以做,但是他有加边条件,这就使得普通的权值线段树做不了,我们这时候就需要一个新的做法,也
konjac_HZX
·
2023-04-07 05:19
数据结构
线段树
线段树合并
数据结构
线段树合并
经典例题(3)
题解:启发式合并无法删点之后动态快速更新最值,因此采用
线段树合并
来做。先将所有询问离线,当访问到该
__LazyCat__
·
2023-02-04 15:34
线段树
c++
算法
数据结构
线段树合并
经典例题(1)
最大出现次数的数字和链接:CF600ELomsatgelral-洛谷|计算机科学教育新生态(luogu.com.cn)题意:有一棵n个结点的以1号结点为根的有根树。每个结点都有一个颜色,颜色是以编号表示的,i号结点的颜色编号为cic_ici。如果一种颜色在以x为根的子树内出现次数最多,称其在以x为根的子树中占主导地位。显然,同一子树中可能有多种颜色占主导地位。你的任务是对于每一个i∈[1,n]i∈
__LazyCat__
·
2023-02-04 15:04
线段树
c++
算法
数据结构
SAM 从入门到入土
做法我们进行
线段树合并
出每个状态所包含的是哪个串统计出是否大于k如果大于k我们直接加上len的贡献如果没有标记的话就是最近的有标记的父亲2CF666E给出一个串s和几个串ti求出串s[l,r]在串ti出现次数最大相同输出最左边的做法
线段树合并
每个节点代表的是该点在哪个字符串中出现
Tearsゆ
·
2023-01-05 20:49
字符串
数据结构
算法
9.CF490F Treeland Tour
线段树合并
9.CF490FTreelandTour
线段树合并
个人Limitの线段树题单题解主目录:Limitの线段树题单题解目录_HeartFireY的博客-CSDN博客给出一棵带点权树,求树上最长上升子序列的长度对每个点开两棵线段树
HeartFireY
·
2022-09-07 21:45
数据结构
线段树/主席树
算法
数据结构
动态规划
codeforces600E Lomsat gelral【
线段树合并
/DSU】
第一次AC这道题,是三年前的一个下午,也许晚上也说不定。当时使用的$DSU$$on$$tree$算法,如今已经淡忘,再学习新的算法过程中,却与旧物重逢。生活中充满不可知会的相遇,即使重逢时多是物是人非。我又想起十六岁时在上海那个船上的夜晚,两岸的霓虹在无边黑暗中照亮了她的脸庞,绿衣在少年的眼瞳里
邱涵的秘密基地
·
2022-08-13 23:00
「 学习笔记 」
线段树合并
线段树合并
普通线段树\((\)无懒惰标记\()\)时间复杂度&空间复杂度假设有\(2\)棵线段树,它们的结点个数之和为\(s\),那么建树时间复杂度是\(O(s)\)的。
沐离
·
2022-03-10 22:00
ZJL的OI知识汇总图
博弈论全部差分约束与Tarjan算法二分图全部ISAP算法和zkw费用流,以及各类网络流优化欧拉图生成树计数与其他生成树计算几何全部虚树,基环树,prufer序列,括号序列树分治LCT和树分块仙人掌可并堆等等链表应用
线段树合并
ZJL_OIJR
·
2021-04-15 11:04
[BZOJ 3653] 谈笑风生
可以用主席树(或
线段树合并
)维护a子树内、dep在某个区间限制内的size和。
CE自动机
·
2020-09-14 18:51
线段树合并
+模拟大题
更好的观看体验简述难点 这种题极其友(e)好(xin),基本上就是pushuppushuppushup,buildbuildbuild,pushdownpushdownpushdown,updateupdateupdate,queryqueryquery,传统线段树五套餐伺候,但是要维护的信息极多,关键还不太能想到要怎么样维护信息,而且维护代码极长,特别建议刚刚入门线段树来锻炼一下。题目一子区间
ailanxier
·
2020-09-14 06:48
线段树
codeforces 893F 主席树||
线段树合并
题意:有一颗树,树上每个点有给定点权,有m次询问,每次询问点x的所有子树中,与x的距离小于等于k的所有点的点权最小值是多少。题目要求强制在线。思路:主席树解法:按照dfs序在树上建立主席树,询问是查询x节点的管辖的那段区间,属于经典操作,问题在于如何控制距离小于等于k,于是我们可以按照点的深度来建主席树,虽然最小值问题不满足前缀相减的性质,但实际上我们并不需要减掉1到dep[x]这段区间,因为x节
Lv1_kangdi
·
2020-09-14 00:24
acm
luogu4775[NOI2018]情报中心 虚树
线段树合并
[NOI2018]情报中心题目传送门分析即zjoi线图之后又一道两百行代码的题。其实luogu题解里面的那份标解已经足够清楚了,自己写一遍只是为了加深理解。题目大意:给定一棵带边权的树,给定树上的多条链,每条链有费用,求有公共边的两条链并的边权和-费用的最大值。这道题的一个核心思路是考虑交边的状态,不难发现如下两种情况:没错我盗的图,略略略对于没有公共Lca的链,他们的链交是一条直上直下的链对于有
lvzelong2014
·
2020-09-13 05:42
数据结构-线段树&&树状数组
树上操作-虚树
「九省联考 2018」制胡窜 解题报告
显然要搞一个SAM,然后搞一个
线段树合并
,关于定位询问串搞一个树上倍增然后你考虑一个细节贼多的分类讨论应该是可以不求补集的,我最开始一直这么想但是有个东西不会维护后来发现是可以维护的...但是补集应该简单一点吧
weixin_30817749
·
2020-08-26 15:19
NOIP 2017 考点总结及复习规划
一、数据结构初级数据结构1.链表,双向链表2.队列,单调队列,双端队列,栈,单调栈3.堆基础数据结构1.并查集与带权并查集2.hash表3.树状数组,线段树,
线段树合并
*4.主席树**5.平衡树*6.左偏树
onepointo
·
2020-08-24 22:59
noip
暑假集训test-8-29
T1傻逼题,但是我傻逼地敲了一个
线段树合并
,然后把空间炸了,只剩20分,直接dfs维护子树大小,子树中最大最小值即可统计答案。
weixin_30871701
·
2020-08-23 07:35
【NOI2019模拟2019.3.7】总结
T2数学题乱搞,感觉不大擅长T3简单
线段树合并
随便讨论一下先去弄T1暴力很好写,一开始天真的以为3n3^n3n暴力加点优化可以跑过去,测了一下发现极限要跑8s琢磨琢磨感觉可以FWT,然后想到是类似卷积的形式转移
BAJim_H
·
2020-08-21 00:10
总结
总结
【洛谷4770】 [NOI2018]你的名字(SAM,
线段树合并
)
考虑
线段树合并
,我们关心的其实只有父亲关系和len对吧。那么维护一下区域有多少个值,然后每一次查询符不符合要求就好了。代码
araw94333
·
2020-08-20 22:44
BZOJ 3439: Kpm的MC密码 【哈希】
题目传送门题目分析:本蒟蒻的想法:trie树+(dfs序+主席树||
线段树合并
)dalao学长的想法:直接哈希把每个串的所有后缀的个数和是O(n)的。直接把每个后缀都插入哈希表里。
Master.Yi
·
2020-08-20 22:33
哈希
【NOI2020 命运】【
线段树合并
】
题意给一棵nnn个点的有根树和mmm条祖先-后代链,要求给每条边赋值000或111,问有多少种方案满足每条链上至少有一条边的值为111。n,m≤5∗105n,m\le5*10^5n,m≤5∗105分析考虑容斥。强制让若干条链不满足,贡献就是链上的边只能取000,其余边的值可以随便取的方案数,容斥系数为(−1)k(-1)^k(−1)k,其中kkk为选择的链数量。树形dp。令fi,jf_{i,j}fi
SFN1036
·
2020-08-20 21:10
线段树
2020.4.25 集训总结
T1P3605[USACO17JAN]PromotionCountingP当时脑子抽了写了个
线段树合并
…不过这题是
线段树合并
板子题吧#includeusingnamespacestd;#defineRep
NephrenRuqInsania
·
2020-08-20 21:06
#
树状数组
#
线段树
【NOI2018】洛谷4770你的名字题解(SAM+
线段树合并
)
题目:luogu4770.题目大意:给定一个串SSS,和mmm组询问,每组询问包含一个串TiT_iTi和一个区间[li,ri][l_i,r_i][li,ri],表示询问TiT_iTi有多少个本质不同的子串不是S[li,ri]S[l_i,r_i]S[li,ri]的子串.1≤∣S∣,∣Ti∣≤5∗105,1≤∑∣Ti∣≤1061\leq|S|,|T_i|\leq5*10^5,1\leq\sum|T_i
hezlik
·
2020-08-19 10:50
[BZOJ 3653] 谈笑风生
可以用主席树(或
线段树合并
)维护a子树内、dep在某个区间限制内的size和。
CE自动机
·
2020-08-19 07:38
【SAM+
线段树合并
】LGP4770 [NOI2018]你的名字
【题目】原题地址给定一个字符串SSS,多组询问给定字符串TTT以及两个数字l,rl,rl,r。求S[l..r]S[l..r]S[l..r]中有多少个子串xxx满足:xxx的任意一个子串没有在TTT中出现过。∣S∣,∑∣T∣≤5×105|S|,\sum|T|\leq5\times10^5∣S∣,∑∣T∣≤5×105【解题思路】加深对SAM\text{SAM}SAM的理解。既然是字符串题,我们首先对S
Dream_Lolita
·
2020-08-19 07:01
字符串-SAM
数据结构-线段树
HDU - 6430 TeaTree
暴力求出每个数字的因子,然后从子树
线段树合并
即可。每次合并的时候更新答案。
青烟绕指柔!
·
2020-08-18 09:45
HDU
线段树
HDU-6430 TeaTree(
线段树合并
)
ProblemE.TeaTreeTimeLimit:8000/4000MS(Java/Others)MemoryLimit:524288/524288K(Java/Others)TotalSubmission(s):165AcceptedSubmission(s):57ProblemDescriptionRecently,TeaTreeacquirenewknoledgegcd(GreatestC
丿残念灬
·
2020-08-18 09:33
线段树&树状数组
hdu 6430 TeaTree
线段树合并
hdu6430多校十第五题,我是从丿残念灬这位大佬学的,从来没写过
线段树合并
,第一次发现还有这操作,学到了学到了,这个题求任意点i和以其为根的子树的所有点j的max(gcd(v[i],v[j])),写法是建立
一只叫橘子的猫
·
2020-08-18 08:11
数据结构----线段树
小Q与内存 - 非旋Treap -
线段树合并
题目大意:你要维护内存分配,初始有一个空的内存池,编号从0到230−1230−1,每次形如:allock,表示申请k个单位内存,依次将目前空着的编号最小的k个单位内存(可以不连续)作为这一次申请的结果。deletet,表示销毁第t次申请的内存,第t次申请的内存变为空。querytk,表示询问第t次申请的内存里,编号第k小的编号是多少(k从0开始)。期间还需要特判一些Fail的情况之类的。题解:考虑
Mys_C_K
·
2020-08-18 08:25
非旋treap
线段树合并
hdu 6430 TeaTree
线段树合并
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6430对每个节点开一颗线段树,标程的写法很节省空间:预处理出每个数字的因数,对题目中给定的权值建线段树,如果子树区间中没有根节点权值的因数,那么直接剪掉。然后通过改变每个根节点左右孩子数组的值,来改变其指向的子树根节点(即合并过程)。相当于是一棵精简的线段树。因为权值最大为1e5,所以nlognlogn
Dale_zero
·
2020-08-18 07:24
线段树合并
TeaTree [
线段树合并
]
对于当前点u,我们只需要找u节点所有子树包含的公共因子的最大值即可,过程中用
线段树合并
实现。AC代码#include#include#defineN100005usingnames
ACTerminate
·
2020-08-18 07:12
线段树
HDU
洛谷P4556 雨天的尾巴 树上差分+权值线段树
题目链接https://www.luogu.org/problem/P4556分析对于树上链的操作,可以用树上差分来做;由于粮食有种类,树上每个节点建一棵权值线段树来记录答案;树上差分后要合并,用
线段树合并
来实现
Brute Force Kevin
·
2020-08-18 06:40
数据结构
《算法竞赛进阶指南》
【集训队作业2018】三角形【
线段树合并
+思路详解】
题目链接【题面】Snuke有一棵nn个点的有根树,每个点有权值wiwi,初始每个结点上都没有石子。Snuke准备了一些石子,并把它们拿在手中。她可以进行以下两种操作任意多次:从手中取wiwi个石子放在结点ii上,进行该操作要求结点ii的所有孩子jj上都有wjwj个石子。将结点ii上的所有石子收回手中。Takahashi想知道对于每个ii,为了在结点ii上放wiwi个石子,Snuke至少需要准备多少
Andres_Lionel
·
2020-08-18 01:15
线段树
数据结构
动态维护树的直径
首先是例题:https://nanti.jisuanke.com/t/41398方法一:最容易理解和暴力的方法(树剖LCA+线段树)树剖维护树的LCA,
线段树合并
时维护树的直径。
永远鲜红の幼月
·
2020-08-18 01:50
数据结构
【集训队作业2018】三角形(
线段树合并
)
传送门题解:加入一个数,相当于是先加上Ai=wiA_i=w_iAi=wi,再减去Bi=∑j∈soniwjB_i=\sum_{j\inson_i}w_jBi=∑j∈soniwj,然后代价就是一个操作序列的前缀最大值。先考虑一下没有限制的的时候,怎么使得这个前缀最大值最小,我们可以分为两个部分:Ai−Bi<0,Ai−Bi≥0A_i-B_i\lt0,A_i-B_i\ge0Ai−Biusingnam
DZYO
·
2020-08-18 01:36
线段树
CC March18 Pishty And Triangle
线段树合并
信息(三角形,斐波那契)
题意:长度为n的数列a,Q次操作.操作1:给出(pos,x)令a[pos]=x操作2:给出[L,R]问(a[L],a[L+1]..a[R])能组成的三角形中周长最长的为多少?n,Q=a[i+1]+a[i+2]若一直无法组成三角形则a[i]将以斐波那契数列的增长速度递减下去.因为1usingnamespacestd;typedeflonglongll;constintN=2e5+5,K=51;int
orz11111111
·
2020-08-18 00:18
数据结构
------
基础
CodeChef
[集训队作业2018]UOJ 418 三角形 -
线段树合并
- 堆 - 并查集
题目大意:给一棵树,每次可以选择拿走某个点的所有石子(放到手上),或者在任意一个满足其儿子节点都已经有石子的点xxx放恰好wxw_xwx个石子。对每个点xxx求恰好在这个位置放wxw_xwx个石子,一开始手上要有多少石子?n≤105n\le10^5n≤105。题解:考虑对每个子树怎么暴力求;考虑将问题反过来,每次变为若一个点有石子,就在其儿子节点都放上石子,然后把这个点的石子取走。一开始只有根节点
Mys_C_K
·
2020-08-17 20:11
并查集
堆
线段树合并
上一页
1
2
3
4
5
6
下一页
按字母分类:
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
其他