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
dfs序&树链剖分
【数据结构】树上问题——树上启发式合并
在阅读本文前,你应该对常见的树上问题有一定了解,并且有一定的练习量前置知识:
DFS序
、
树链剖分
、树形DP等文章目录树上启发式合并简介双log的启发式合并单log的树上启发式合并练习树上数颜色CF600E-LomsatgelralCF1009F-DominantIndicesCF570D-TreeRequestsCF208E-BloodCousinsCF246E-BloodCousinsReturn
NoobDream_
·
2023-10-19 06:55
#
数据结构
数据结构
算法
树上问题
启发式合并
树链剖分
(轻重链剖+长链剖)
Part0一堆废话本来
树链剖分
我是不打算写帖子的,因为我一道树剖的题都没做。
哈哈哈哈哈哈哈嗝QwQ
·
2023-10-19 06:53
算法
c++
[CF600E] Lomsat Gelral [
树链剖分
/树上启发式合并]
题意:给出一个有NNN个点,以111号点为根的有根树。每个点有一种颜色ci≤Nc_i\leNci≤N。以某个点为根的子树中,如果一种颜色出现的次数不比其它颜色少,称它是这个点的支配颜色。点的支配颜色的和,是指,某个点的所有支配颜色的编号的和。求这棵树上每个点的支配颜色的和。N≤105。N\le10^5。N≤105。简单地考虑:可以暴力统计每个点,每种颜色的出现次数。Θ(N2)\Theta(N^2)
_er
·
2023-10-19 06:20
树链剖分
树链剖分
树剖是个神奇的东西~其实也没有那么神奇~首先要知道树剖是什么:将一颗树分成若干条链后,对每一个链用数据结构进行维护。我们最常用的就是开一颗线段树保存所有树链(显然我们要保证有序)如何分链?dalao们称它叫启发式合并,什么意思呢?对于一颗以v为根的子树,我们选择它若干儿子中,儿子的儿子数(包括儿子自己)最多的那一个儿子与v相连直到叶子节点,这么一条路径我们称它为重路径,路径上的边我们成为重边,其余
DancingZ
·
2023-10-19 06:50
数据结构
树剖
树链剖分
Danil and a Part-time Job (
dfs序
+ 线段树)
Solution先用
dfs序
将树处理成线段树可以维护的状态,然后线段树维护即可。push_up里面没有写push_down,调了半天。。。时间复杂度:求
dfs序
O(n),维护线段树O(l
lazy_yun
·
2023-10-16 06:17
#
题解
算法
c++
BZOJ 3123 SDOI 2013 森林 可持久化线段树+启发式合并
然后就是用可持久化线段树维护一个树的信息,按照
dfs序
来建树,每个节点的可持久化链的参考版本就是它父亲的版本。之后利用权值线段树可区间加减的特性,用f[x]+f[y]-f[lca]-f[fat
16bit戦争
·
2023-10-11 21:13
BZOJ
BZOJ
SDOI2013
线段树
可持久化线段树
启发式合并
【树上莫队C++】Count on Tree II(欧拉序降维,
树链剖分
求最近共同祖先LCA)
》》》算法竞赛/***@file*@authorjUicE_g2R(qq:3406291309)————彬(bin-必应)*一个某双流一大学通信与信息专业大二在读**@brief一直在算法竞赛学习的路上**@copyright2023.9*@COPYRIGHT原创技术笔记:转载需获得博主本人同意,且需标明转载源**@languageC++*@Version1.0还在学习中*/UpDataLog20
jUicE_g2R
·
2023-09-26 14:10
C++算法
深度优先
图论
算法
数据结构
c++
笔记
路径记录(很久之前)
12.22【BZOJ】2243[SDOI2011]染色
树链剖分
+线段树【BZOJ】1724[Usaco2006Nov]FenceRepair切割木板手写堆【BZOJ】1455罗马游戏左偏树【BZOJ】1202
weixin_33681778
·
2023-09-26 06:33
数据结构与算法
c/c++
BZOJ-2819: Nim(BIT+LCA+
DFS序
列)
id=2819刚开始还以为是神马博弈论的神题,仔细一看原来只是维护一下树上链的sg函数,说白了就是维护一下链的xor和,那就直接用
DFS序
列+BIT水过去就可以啦~(LCA当然也要顺便求一下)代码(懒得写倍增
AmadeusChan
·
2023-09-25 11:47
DSU ON TREE
所以肯定要留下最大的,也就是
树链剖分
的重儿子。考虑两种合并
szh_0808
·
2023-09-22 20:13
算法
F. Timofey and Black-White Tree
Problem-F-Codeforces思路:这个题可以用
树链剖分
做,对于一个新加的黑节点来说,有两种情况,一种是往下走取得最小值,一种是往上走取得最小值,往下走的情况比较简单,就是取所有黑色子节点中的深度的最小值
zzzyyzz_
·
2023-09-13 21:39
codeforces
算法
20230905 比赛总结
题解比赛链接A傻子题B我是傻子C看到子树内距离其不超过kkk的点,有一个套路是主席树+ dfs+\;dfs+
dfs序
,即在主席树的第depth[x]+kdepth[x]+kdepth[x]+k层查询区间
Farmer_D
·
2023-09-13 13:25
其他
算法
树链剖分
-重链剖分
P3384【模板】重链剖分/
树链剖分
#include#include#include#include#include#include#include#include#include#include#include
小刀刺大熊
·
2023-09-07 04:37
树论
c++
CF1120D Power Tree——图论建模求生成树,依次加点大力树剖
DescriptionSolution首先找到这棵树的所有叶节点并按照它们的dfsdfs
dfs序
排序。不难发现,对一个节点进行控制等价于可以将叶子序列中的一段区间做加一或减一操作。
_ducati
·
2023-09-04 20:49
树链剖分(重链剖分
长链剖分)
CF1120 D. Power Tree 巧妙的图论转化
,输出最小的花费,使得无论它如何赋值,我们使用上述的花费都能使所有的叶子节点变为0考虑对一个点的子树的所有叶子节点进行增减任意值.不难联想到对一个点的子树的所有节点增减任意值的做法.所以考虑使用类似于
树链剖分
的
yingjiayu12
·
2023-09-04 20:18
c++算法
图论
算法
深度优先
树链剖分
模板
DFS1voidDFS1(intx,intf,intdeep){fa[x]=f;dep[x]=deep;Size[x]=1;for(inti=0;iSize[son[x]]||!son[x])son[x]=s;}}DFS2voidDFS2(intx,intT){top[x]=T;cnt++;id[x]=cnt;be[cnt]=x;if(!son[x])return;DFS2(son[x],T);f
C20201018
·
2023-09-02 16:44
[NOI2015]软件包管理器 ——
树链剖分
题目描述Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优秀的软件包管理器。你决定
C20201018
·
2023-09-02 16:43
树链剖分
树链剖分
NOI
树
CF208E Blood Cousins
,u,v的k级祖先相同,则u,v为k级亲戚题解一定仔细读题md,是k级祖先,不是LCA为k级祖先我的做法是先倍增求点u的k级祖先然后统计k级祖先下深度为dep[u]点的个数想来想去没想到好方法,然后就
dfs
cqbzcsq
·
2023-08-31 22:49
算法
莫队
深度优先
启发式算法
P3979 遥远的国度
思路:
树链剖分
。注意:设置的INF是0x3f3f3f3f只会有30分,设置成int型最大值以上才能过。x和y路径上的修改如果x和y的重链头父亲节点不一样,就让深度更大的那条链进行修改。
golitter.
·
2023-08-24 15:01
算法题
算法
树链剖分
个人总结
树链剖分
-OIWiki
树链剖分
用于将树分割成若干条链的形式,以维护树上路径的信息。具体来说,将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。
golitter.
·
2023-08-19 05:43
算法题
深度优先
算法
2021牛客暑期多校训练营7
对于第二棵树,处理好
dfs序
,一棵树父亲节点的
dfs序
ddgo
·
2023-08-10 18:38
2021多校
算法
树链剖分
(轻重链)入门
写在前面仅想学树剖LCA的同学其实不必要了解线段树前置知识:树形结构,链式前向星(熟练),线段树(熟练),
DFS序
(熟练),LCA(了解定义)
树链剖分
(树剖):将树分解为一条条不相交的,从祖先到孙子的链
追随远方的某R
·
2023-08-04 12:16
算法刷题
算法
线段树
深搜
DFS
支配树(Dominator Tree)学习笔记
首先对原图G建出其的dfs树T并且按
dfs序
重标号,那么就具有一些性质:1:横叉边必
alan_cty
·
2023-08-03 02:04
心情
总结
支配树
图论
支配树
dominator
tree
图论
学习笔记
支配树学习笔记
学习链接【学习笔记】支配树_cz_xuyixuan的博客-CSDN博客主要的求法是最后两个结论:定理4用来求sdom,先搞一个dfs树,然后将点按
dfs序
从大到小加入,对每个点维护到当前根(即已加入点)
caoyang1123
·
2023-08-03 02:03
学习
笔记
树与图的深度优先遍历
目录一、概念二、操作说明1.树与图的深度优先遍历2.树的
DFS序
3.树的深度4.树的重心5.图的连通块划分三、例题实践1.树的重心例题实战a.题目描述b.解题思路c.代码实现一、概念树与图的深度优先遍历
ChuRi_BaiYu
·
2023-07-29 17:05
总结
深度优先
算法
图论
数据结构专题1
林靖轩PPT树的遍历与树上的序树的遍历voiddfs(intu,intf){for(autov:mp[u]){if(v==f)continue;//防止重复访问dfs(v,u);}}树上的
dfs序
一般有两种
zhezhidashi
·
2023-07-18 00:14
ACM题目整理
数据结构
深度优先
算法
浅谈 Tarjan 算法
1dfs生成树定义:dfs遍历整张图,按照
dfs序
构成一棵树。1.1有向图的dfs生成树有向图的dfs生成树包括四种边:树边(treeedge):图中黑色边表示。表示搜索访问到未访问过的结点。
零衣贰
·
2023-06-18 07:27
学习笔记
算法
Yandex.Algorithm 2011: Finals E
树链剖分
+思维
代码细节太多思路先求出一颗生成树如果距离为奇数那就满足这一过程可以用lca求解其他情况下如果a到b的路径上有一条边属于奇环那么也符合那么我们已经清楚如何取求解剩下就是取维护每条边是否在奇环上可以用差分但是这题因为要用到lca就直接
树链剖分
维护了
Tearsゆ
·
2023-06-12 21:47
数据结构
思维
c++
算法
图论
浅谈LCT
LCT的大体思想类似于
树链剖分
中的轻重链剖分,轻重链剖分是处理出重链来,由于重链的定义和
树链剖分
是处理静态树所限,重链不会
kyrielrving
·
2023-06-07 08:55
算法
LCT
L3-032 关于深度优先搜索和逆序对的题应该不会很难吧这件事 有趣的数据结构题
求该树所有可能的
DFS序
中逆序对数量之和。
yingjiayu12
·
2023-04-21 09:37
c++算法
#
各类比赛
深度优先
数据结构
算法
【Noip】考纲
、spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,二分图匹配tarjan找scc、桥、割点,缩点分数规划树树上倍增(LCA)树的直径、树的重心
dfs
weixin_30767835
·
2023-04-10 04:12
NOIP考纲
spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树树上倍增(LCA)树的直径、树的重心
dfs
安一825
·
2023-04-10 04:40
信息奥赛计算机基础知识
做题记录 To 2019.2.13
3653:谈笑风生:
dfs序
+主席树。POJ3678KatuPuzzle:2-sat问题,给n个变量赋值(0/1),满足所有等式。
weixin_30621919
·
2023-04-09 20:37
数据结构与算法
第十四届CCPC吉林省赛题解
我们跑dfsdfs
dfs序
,就等价于区间加
jangyi.
·
2023-04-09 03:55
深度优先
算法
树上线段树合并(模板题)
Acwing洛谷题意:给定一颗树,m次操作每次让树中一条路径上每个结点z物品携带个数+1求每个结点最终携带最多物品的种类是哪个,有多个就输出编号最小的思路:有两种写法:
树链剖分
+权值线段树、树上线段树合并
阐上
·
2023-04-07 05:02
高级数据结构
#
LCA
知识点笔记
线段树
数据结构
算法
树
树上差分
OI笔录
文章目录二月一日并查集+堆二月2日BM&KMP&TRIE&AUTO_ACFebr,3rd——AUTO_ACCF86C(AC自动机、DP)2.4RMQ/LCA/
树链剖分
/线段树二月五日RMQ&LCA/
树链剖分
forto42
·
2023-04-06 03:36
程序人生
D. Graph and Queries (并查集+线段树)
题目链接:http://codeforces.com/contest/1416/problem/D应该是图上的比较经典的问题了(然而我不会用并查集把图区间化,思想是根据删除顺序的倒叙来建树,最后
dfs序
即可
_bibibibi
·
2023-03-30 17:49
codeforces
LCA学习笔记
LCA一共学习了三种方法,分别是1.倍增2.RMQ3.
树链剖分
首先是倍增,先是预处理,倍增需要处理出f[i][x]表示x点向上走2的i次方所到的点,先处理所有f[0][x],f[0][x]=father
一曲诉哀愁
·
2023-02-04 17:10
远古学习专栏
学习
深度优先
图论
树链剖分
【2023.1.31】
【模板】P3384P3384P3384重链剖分/
树链剖分
2.P2590P2590P2590树的统计3.P3178P3178P3178树上操作4.P2146[NOI2015]P2146[NOI2015]P2146
cqbzpsy
·
2023-02-02 17:30
树链剖分
数据结构
算法
深度优先
第5章
树链剖分
树链剖分
树链剖分
_百度百科
树链剖分
就是将树分割成多条链,然后利用数据结构(线段树、树状数组等)来维护这些链。
dllglvzhenfeng
·
2023-01-05 20:47
省选与NOI
计算机考研机试
《信息学奥赛一本通
提高篇》
数据结构
算法
计算机考研
青少年趣味编程
信奥
NOI2021信息竞赛学习笔记
一.图论1.仙人掌问题(圆方树)2.矩阵树定理3.网络流4.基环树二、数据结构1.线段树2.左偏树3.
树链剖分
4.主席树5.树套树6.长链剖分7.LCT三、数学1.欧拉函数|(扩展)欧拉定理|欧拉反演2
andyc_03
·
2022-12-24 14:11
线性代数
图论
算法
Rikka with Intersections of Paths(2018-2019ICPC徐州)【
树链剖分
+线段树】
G.RikkawithIntersectionsofPaths(2018-2019ICPC徐州)【
树链剖分
+线段树】题意给定一棵nnn个点的树和mmm个树上的简单路径的端点点对,求从mmm条路里选kkk
tcy今天长胖了吗
·
2022-10-01 08:03
血压题
数据结构
树链剖分
线段树
2020CCPC长春F题——dsu on tree+二进制拆分
题解:对于这种子树查询的问题,常用的方法也就那几种,要么就是
树链剖分
后用数据结构维护,要么就是dsuontree。
mumei314
·
2022-09-14 02:01
dsu
on
tree
dsu
on
tree
进制拆分
AC日记——[国家集训队2011]旅游(宋方睿) cogs 1867
[国家集训队2011]旅游(宋方睿)思路:
树链剖分
,边权转点权;线段树维护三个东西,sum,max,min;当一个区间变成相反数时,sum=-sum,max=-min,min=-max;来,上代码:#include
weixin_33890526
·
2022-08-25 13:33
P4315 月下“毛景树”(
树链剖分
)
P4315月下“毛景树”(
树链剖分
)题面简述:边权转点权(在dfs1处转换)把一条边权赋值在深度更深的上需要实现对单边权的染色,路径边权的染色,路径边权的增加,路径边权的最大值查询边权转点权后查询路径最值
Cattle_Horse
·
2022-08-06 23:00
2019暑期计划 / 每日刷题记录
计划##1.复习与提高###动态规划-数位DP-树形DP###图论-Tarjan-拓扑序的应用-
树链剖分
-点分治-树上距离-网络流/费用流###数据结构-平衡树-主席树-ST表###数论-整数研究-组合数学
weixin_30951743
·
2022-06-29 18:34
算法模板集合(动态规划+图论+数学)
附加C++常用STL库详细总结:点我跳转算法模板集合1.树1.1字典树1.2线段树1.3树状数组1.4二叉树建树模板1.5二叉搜索树建树模板1.6树上启发式合并1.7多叉线段树(
dfs序
)1.7.1
Dfs
墨海灬流弈
·
2022-05-30 22:01
c++
ACM
STL
算法
c++
数据结构
2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛正式赛) 【部分题题解】
http://vj.saikr.com/contest/20/problems目录Error【二分】树的果实【
dfs序
+莫队】吃利息【签到】MP4【dfs】展览【线性基】礼物【签到】看错题
辉小歌
·
2022-05-17 17:51
#
编程比赛总结
算法
c++
开发语言
「
树链剖分
」点权 边权模板
学习
树链剖分
我看过以下博客:
树链剖分
原理和实现
树链剖分
整理总结知道大概之后,我以为要多加深记忆的地方:对于每一个重儿子,其top必然是其父亲的top,并且由于要用其它数据结构(如树状数组,线段树)等来维护
rnzopeng
·
2022-02-12 09:37
BZOJ-3307: 雨天的尾巴(轻重
树链剖分
+离散化+BST(OR线段树))
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3307024f78f0f736afc3873df27ab119ebc4b74512f8.jpg.png0eb30f2442a7d9332781296caf4bd11373f00180.jpg.png思路:刚开始看这道题的时候拼命想在线做法,后来实在想不出来,就想离线的,很轻松就出解了:首先,我们
AmadeusChan
·
2022-02-11 00:51
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他