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
树链剖分
Tree(
树链剖分
)
Tree#include#include#include#include#include#definePI3.14159265358979323846#defineintlonglong#defineqcstd::ios::sync_with_stdio(false)usingnamespacestd;constintmaxl=300100;constintminl=-217483648;cons
miaozasnone
·
2021-06-09 11:58
LUOGU 3384
树链剖分
LUOGU3384Description如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1格式1xyz表示将树从x到y结点最短路径上所有节点的值都加上z操作2格式2xy表示求树从x到y结点最短路径上所有节点的值之和操作3格式3xz表示将以x为根节点的子树内所有节点值都加上z操作4格式4x表示求以x为根节点的子树内所有节点值之和InputFormat第一行
苏子旃
·
2021-06-06 08:32
GDKOI2021普及游记
Day0这次GDKOI本来是在深圳举行的,我本来也没报名,结果因为疫情原因只能变为线上赛,前一天晚上一直在复习知识点,什么线段树,树状数组,
树链剖分
都过了一遍(太垃圾了,大佬勿喷)。
zwj_dreamforest
·
2021-01-31 16:21
总结
P1505 [国家集训队]旅游 (
树链剖分
)
传送门很明显是
树链剖分
,因为是边权,所以将每个边权给深度大的那个点可以了,根节点不用赋值,要求最大值和最小值,所以线段树不包含根节点。因为点是从0编号的,所以父节点和重儿子数组要初始化。
Tuilot
·
2020-10-09 23:54
HDU 3966
树链剖分
模板
#include#include#include#include#includeusingnamespacestd;#defineN50010#defineM100010intn,m,p;classNode{public:intfa,top,pos,val,siz,heavySon,dep;};Nodenode[N];classEdge{public:intu,v,next;};Edgeedge[
tanmlh
·
2020-09-17 13:27
树连剖分
POJ 2763
树链剖分
点击打开链接题意:给一个树,然后树上的边的边权,然后两个操作,一个是询问u到v的路上权值和,一个是将第几条边的权值修改思路:与SPOJ375的那道题目很像,都是边上的权值,然后维护一个线段树进行修改和求和就行了#include#include#include#include#include#includeusingnamespacestd;typedeflonglongll;typedefunsi
Dan__ge
·
2020-09-17 10:28
数据结构
树链剖分
线段树
0x21.搜索 - 树与图的遍历、拓扑排序
目录一、树与图的深度优先遍历及树的一些性质1.树与图的深度优先遍历2.时间戳3.树的DFS序(
树链剖分
前驱知识)4.树的深度5.树的重心与sizesizesize6.图的连通块划分二、树与图的广度优先搜索三
繁凡さん
·
2020-09-17 03:38
【算法竞赛学习笔记】
#
图论基础
#
拓扑排序
bzoj 2243 染色
树链剖分
好题!
思路:很好的一道
树链剖分
。树剖后,线段树要记录左端点l,右端点r,左端点的颜色lc,右端点的颜色rc,区间成段更新的标记tag,区间有多少颜色段。
Excelsior_kereo
·
2020-09-16 19:37
树链剖分
Bzoj3531:[Sdoi2014]旅行:
树链剖分
+动态开点线段树
题目链接:[Sdoi2014]旅行对于每种颜色维护一颗线段树,为了节约空间这里我们动态开点然后就是弱鸡的线段树操作了指针的动态开点线段树现在才会写……#include#include#include#includeusingnamespacestd;constintmaxn=100010;constintmaxc=100001;intn,m,tot=0,h[maxn],s[maxn],ind=0;
TheWolfWhistlingSong
·
2020-09-16 18:14
OI
树链剖分
普通线段树
Ants(
树链剖分
+线段树+2-SAT及前缀优化建图)
题目链接https://codeforces.com/problemset/problem/1007/D题解这道题本身并不难,这里只是记录一下2-SAT的前缀优化建图的相关内容。由于问题的本质是给定许多二元集合,判断是否能从每一个二元集合中选出一个元素,使得所有选出的元素合法,因此考虑使用2-SAT解决该问题。不难发现,使用2-SAT解决该问题的复杂度瓶颈在于建图。我们为每一种颜色\(i\)对应的
anzi3457
·
2020-09-16 18:23
数据结构与算法
【树形结构】
树链剖分
恶心至极
树链剖分
树链就是树上的路径。将一棵树划分成若干条链,用数据结构(线段树,平衡树等)去维护每条链,复杂度为O(log2n)O(\log_2n)O(log2n)。
翞达羌
·
2020-09-15 22:17
数据结构
HDU 5044 - Tree (
树链剖分
)
感觉一百年没发题解了。这两天在吴神的嘲讽下终于去做了一年半前就准备学的树剖(:3」∠)然后随便发个模板题代码吧,证明我还是活着的。思路不能用线段树维护,用扫描线的方式,两个端点加减,然后扫一遍。代码#include#include#include#include#include#include#include#include#include#include#include#include#incl
IceIceBear
·
2020-09-15 15:04
HDU
acm
3631: [JLOI2014]松鼠的新家|
树链剖分
题目大意:小熊每走到一个新的房间就需要吃一个糖,问每个房间至少有几个糖。题目中说的很不明确的样子。。。。。。枚举相邻的两个点,把这连接这两个点的链上的点的权值都+1,然后除了起点外其他的点都再-1可以直接树剖线段树直接标记改,复杂度O(nlog22n)也可以直接差分一下最后在dfs一遍,复杂度O(nlog2n)code1线段树:#include#include#include#include#in
ws_yzy
·
2020-09-14 21:48
树链剖分
Cheap Robot —— 想法,dijkstra+kruskal重构树+并查集+
树链剖分
+lca,有丶东西
Thisway题意:给你一张大小为n的图,并且点1~k是充电站。有q个询问,每次询问你从a走到b最少需要的电池大小为多少。假设你当前电量为c,当走过一个权值为w的边时,你的点会变成c-w,如果这个点是充电站,那么你的电量会便会变回电池容量。问你你每次需要的电池容量最小是多少。题解:有一说一,这道题很厉害。首先先用dijkstra找到每个点距离它最近的充电站的距离,然后的话我们可以知道,如果一条边要
天翼之城*
·
2020-09-14 20:50
想法
树链剖分
最小生成树
BZOJ P3631[JLOI2014]松鼠的新家
哇,刷水题出人品啊方法1:大力线段树+
树链剖分
树剖一眼题啊很简单,每出来两个点直接求一遍LCA然后直接
树链剖分
大力在经过的点上+1就行了,这是不是肥肠简单啊方法2:据说可以差分??
萌呆233
·
2020-09-14 19:32
bzoj
3631:[JLOI2014]松鼠的新家
3631:[JLOI2014]松鼠的新家
树链剖分
~~;#include#definerep(i,k,n)for(inti=k;imaxx){maxx=tmp;son[u]=v;}ff+=tmp;}}returnff
limboman
·
2020-09-14 19:10
BZOJ3631 [JLOI2014]松鼠的新家(
树链剖分
)
直接进行
树链剖分
每一轮,路径上的点加1最后输出答案时,除起点外的结点权值要减1只用到区间增减,单点查询和值,因此并不需要线段树来维护另一种思路:类似前缀和的思想从起点x到终点y,只需给x,y两个结点加1
cjk_cjk
·
2020-09-14 18:54
树的分治
思路题
[BZOJ3631]JLOI2014松鼠的新家|树上差分
看起来是一个裸的
树链剖分
,其实不用那么麻烦。。
Tag_king
·
2020-09-14 18:00
BZOJ
dsu on tree
由
树链剖分
的性质,任意一个节点到根节点的路径上轻边的数
Rising_shit
·
2020-09-14 18:44
算法
洛谷 P3384 【模板】
树链剖分
题目描述如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1:格式:1xyz表示将树从x到y结点最短路径上所有节点的值都加上z操作2:格式:2xy表示求树从x到y结点最短路径上所有节点的值之和操作3:格式:3xz表示将以x为根节点的子树内所有节点值都加上z操作4:格式:4x表示求以x为根节点的子树内所有节点值之和输入输出格式输入格式:第一行包含4个正整数N
Loi_ChlorineHikari
·
2020-09-14 18:42
树链剖分
树链剖分
scanf(“%s“)真的只开读入字符串大小就可以了吗??
本人刚刚在做
树链剖分
“染色”一题的代码重构,上午打爆了是在调不出来,只能从头来过染色bb一句:对于数据结构这种题,一旦打完后一到两个小时之内静态,动态查错都没有调出来就应该果断删掉重构代码,重新想过(更好的其实是休息一会再调才不会跳入固定思维里面
RBW爸爸
·
2020-09-14 18:38
坑点总结
C++
语言
C++
字符串
HNOI2016 Day2 T2 网络
题意分析考虑
树链剖分
。用线段树搞,线段树上每个点开一个优先队列(大根对)。每次有新的交互(u,v),就把不在(u,v)路径上的点加入一个v值。查询时,就查这个点的top。
__HWQ
·
2020-09-14 07:10
HNOI2016
HNOI2016 网络
1.首先这是一堆对于链上的操作,所以我们很容易联想到
树链剖分
。2.然后要求不被影响的最大值,即不经过他的最大
QT_2016_666
·
2020-09-14 06:35
洛谷 P3313 [SDOI2014]旅行(
树链剖分
+线段树)
传送门这题是求固定路径上某固定宗教的评级最大值或和,由于我们知道树上路径是顺着链走的,我们可以用
树链剖分
使一条链上的编号连续,方便查询。
Dawn_LLLLLLL
·
2020-09-14 03:41
线段树
树链剖分
P3384 【模板】
树链剖分
#include#include#include#include#includeusingnamespacestd;typedeflonglongLL;intconstMXN=100005;intn,m,R,MOD,cnt,a[MXN],hd[MXN],fa[MXN],dep[MXN],siz[MXN],b[MXN],son[MXN],id[MXN],T[MXN],tp[MXN];intx,y;s
ivy-uu
·
2020-09-14 01:51
树剖
SPOJ QTREE 系列
QTREEQueryonatree
树链剖分
:QTREELCT:QTREEQTREE2QueryonatreeII倍增LCA:QTREE2PTO7JQueryonatreeIIIdfs序+主席树:QTREE3QTREE4QueryonatreeIV
yamiedie_
·
2020-09-14 01:39
QTREE
洛谷 P3379 【模板】最近公共祖先(LCA)(
树链剖分
写法)
题目链接:P3379【模板】最近公共祖先(LCA)今天突然想到,树剖可以写LCA,就实现了一下,可以过,在这里存一下代码#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#d
riba2534
·
2020-09-14 01:59
【最近公共祖先LCA】
【树链剖分】
CF 504 E —— Misha and LCP on Tree —— 树剖+后缀数组
普通的dfs序中,子树是一段连续的区间,而这里要查询的是链,自然想到
树链剖分
后的dfs序;这样一条重链在dfs序上是一段连续的区间,查询LCP时一段一段查询即可,可以用vector存下一条路径的所有段;
aodan5477
·
2020-09-14 00:39
树链剖分
(轻重链剖分)算法笔记
不会,欢迎点击暂无我想,身为巨佬的你肯定会.既然巨佬你会DFS序,会线段树.那么接下来的
树链剖分
,你也一定会.接下来的学习,您必备的
weixin_30359021
·
2020-09-13 20:53
洛谷验板子 P3384 【模板】轻重链剖分
今天有点好运,学了树剖之后敲的板子居然没出问题直接ac了OWO1.子树的维护和查询与最普通的
树链剖分
不同的是,需要子树的和。
REXWind_W
·
2020-09-13 19:02
树剖
算法
acm
数据结构
树链剖分
目录
树链剖分
1.算法分析1.1重链剖分:1.1.1定义1.1.2重链剖分的性质1.1.3常见应用1.2长链剖分1.2.1定义1.2.2长链剖分性质1.2.3长链剖分应用2.板子2.1重链剖分2.1.1路径维护
第25小时
·
2020-09-13 19:23
【板子】
树链剖分
安利几份学习笔记
树链剖分
树链剖分
(轻重链剖分)算法笔记然后上一道例题:Spoj375IThink题意:带修改树上两点最大路径Code#include#includeusingnamespacestd;constintsm
Etta19
·
2020-09-13 18:43
线段树
树链剖分
小板子
【板子库】P3384 【模板】轻重链剖分 /
树链剖分
模板题
P3384【模板】轻重链剖分code:#include#include#include#include#include#include#include#include#include#include#include#include#include//usingnamespacestd;constintINF=0x3f3f3f3f;//1.06e9大小constintmod1=1e9+7;const
DevourPower
·
2020-09-13 17:30
板子库
lct
洛谷P3384 -
树链剖分
(
树链剖分
模板题)
题目链接https://www.luogu.org/problemnew/show/P3384【描述】
树链剖分
模板题,记一下板子#include#definenodetree[id]#definelsontree
SingleK
·
2020-09-12 08:05
数据结构-----树链剖分
HYSBZ 2243 染色 (树链拆分)
解题思路:
树链剖分
+线段树区间合并线段树的端点记录左右区间的颜色。颜色数目。合并的时候就用区间合并的思想。还要注意一点。在由一条链转到还有一条链的时候要推断当前节点是否与父亲节点是否同一种颜色。
weixin_33682719
·
2020-09-12 07:55
hihocoder 1247 树形XX~~
一个有根树的
树链剖分
为将整棵树划分成若干条从一个点到这个点的祖先(包括本身)的链,并且这些链没有公共点。如果一条边在某条链上,即这条边的两个端点在同一个链上,那么这个边为重边,否则为轻边。
粽子猪zZ
·
2020-09-11 16:52
hihocoder
codeforces 592D
树链剖分
题意:给一棵树,边上有权值,有两种操作1abf输出fdiv(a、b两点间的路径权值和)向下取整2af把第a条边的权值修改为f~~~一开始就想到是
树链剖分
,但是被数据范围给吓到了,开了一个longdouble
粽子猪zZ
·
2020-09-11 16:21
树链剖分
codeforces
树链剖分
代码(洛谷3384)
题目链接题意:
树链剖分
模板题(
树链剖分
+线段树)准备工作:第一步:定义声明//链式前向星存图(****记得开2倍空间****)structEDGE{intto;intnext;}edge[MAXXmaxx
米诺minoz
·
2020-09-10 23:28
ACM
----
题解
ACM
----
数据结构
树链剖分
树链剖分
树链剖分
简介实现模板Luogu3384模板
树链剖分
应用BZOJ1036ZJOI2008树的统计BZOJ4034HAOI2015树上操作BZOJ2243SDOI2011染色BZOJ3531SDOI2014
zhangche0526
·
2020-08-26 16:19
笔记
-线性数据结构
-树
动态树 LCT(Link-Cut-Tree)--入门教程
LCT的大体思想类似于
树链剖分
中的轻重链剖分,轻重链剖分是处理出重链来,由于重链的定义和
树链剖分
是处理静态树所限,重链不会变化,变化的只是重链上的边或点的权值。
yashem66
·
2020-08-26 13:12
Link/Cut
Tree
【题解 && 树上启发式合并】算法杂交详解 Lomsat gelral
我们借鉴
树链剖分
的思想,先对树进行
树链剖分
,处理出重儿子、轻儿子等数组。而后我们就需要用这些数组对暴力进行优化(就是启发式合并!)对于常规的套路,我们枚举到每一颗子树时,用桶
鹭天
·
2020-08-26 12:56
树上启发式合并
题解
【题解 &&
树链剖分
】 树上相交路径
考虑
树链剖分
,用树状数组维护序列LcaLcaLca
鹭天
·
2020-08-26 12:55
数据结构
题解
树链剖分
【算法详解】
树链剖分
一、问题引入:1、给你一个序列,再给你一堆询问区间,对于每个询问区间,请你求区间内的最大值、累加和等等。对于这个问题,我们是早就做烂的了,线段树、树状数组等数据结构都能轻松求,这里不再详述。2、给你一棵树,再给你一堆询问,每次给你两个点,让你求两个点之间的路径中的点权最大值、点权和等等。对于这个问题,我们很显然不能再像问题111一样样直白的去做,因为树的路径与纯粹的区间不同。那我们能否用一个算法,
鹭天
·
2020-08-26 12:55
树链剖分
[
树链剖分
][SDOI 2011]染色,Housewife Wind
文章目录T1:HousewifeWind题目题解codeT2:染色题目题解code今天选择写这篇博客主要是为了告诉大家一个道理,数组比vectorvectorvector快太多了,我这两道题第一次都因为vectorvectorvector,TTT到飞起T1:HousewifeWind题目Aftertheirroyalwedding,JiajiaandWindhidawayinXXVillage,t
爆肝的秃聚
·
2020-08-26 11:19
#
树链剖分
高级算法和数据结构(2)
高级数据结构:哈希表、树与二叉树、优先队列与堆、并查集、线段树、树状数组、伸展树、Treap、AVL树、红—黑树、SBT、块状链表与块状树、后缀树与后缀数组、
树链剖分
与动态树等。
desaco
·
2020-08-26 11:40
(高级)算法和数据结构
树链剖分
浅析——(板子+[NOI2015]软件包管理器)
文章目录一.先知其用二.预备知识1.预备概念2.变量声明三.操作过程1.预处理1.1.dfs11.2.dfs22.开始操作2.1.操作1:求节点x到节点y的路径上所有点权的总和2.2.操作2:修改节点x到节点y的路径上所有点权3.线段树温馨提醒四.实战演练1.洛谷板题1.1.题目1.2.题解1.3.Code2.[NOI2015]软件包管理器2.1.题目:[传送门](https://www.luog
PI_PJW
·
2020-08-25 05:05
树链剖分
线段树
树路径
树路径
树链剖分
(Link/cuttree)用途:树路径信息维护将一棵树划分成若干条链,用数据结构(线段树、treap和splay树等)去维护每条链,时间复杂度为O(n)基本介绍:首先定义size(X)为以
weixin_30463341
·
2020-08-25 05:58
LCA
LCA作为树上的一种重要操作,在许多算法(如
树链剖分
)中作为不可或缺的基础操作,是必须掌握的内容之一。其思想是很简单的。
lbrony
·
2020-08-25 04:22
算法
洛谷3379
lca问题1.
树链剖分
#include#include#include#definemaxn500001usingnamespacestd;intn,m,s,cnt,head[maxn],to[maxnmaxson
dfgh45234
·
2020-08-25 03:18
洛谷 P2146 [NOI2015]软件包管理器 题解
题目链接题目背景题目描述题解一道
树链剖分
的模板题每次安装软件,就把根节点到x软件路径上的值全部变为1同理,每次卸载软件,就把x以及它的子树的值变为0故我们可以用区间和的思想,每次操作之前记录一下tree
lemonaaaaa23
·
2020-08-25 01:22
算法
上一页
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
其他