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
ACM____树链剖分
CodeForces - 1260F Colored Tree(
树链剖分
+ 组合计数 + 树状数组)
题意给你一棵n个节点的树,每个节点都有一个颜色。这棵树的权值定义为,任意两个相同颜色的点之间的路径长度之和。但是,这棵树的每个点的颜色是不确定的,你只知道节点iii的颜色属于某一个区间[li,ri][l_i,r_i][li,ri],于是这棵树总共就有∏1≤i≤n(ri−li+1)\prod_{1\lei\len}(r_i-l_i+1)∏1≤i≤n(ri−li+1)种可能。你需要求这么多种可能情况下
alpc_qleonardo
·
2020-07-30 01:00
树链剖分
CodeForces - 343D Water Tree(
树链剖分
+线段树)
题目链接:点击查看题目大意:给出一棵树,然后给出m次操作,每次操作分为三种:1v:将v及其子树全部变为12v:将v及其祖先全部变为03v:查询点v的值题目分析:
树链剖分
模板题,今下午刚做了一个比较难的,
Frozen_Guardian
·
2020-07-29 23:09
树链剖分
线段树
CodeForces-343D water tree (线段树+
树链剖分
)
因为只能对v的祖先操作,所以dfs就不是很好用了,不由得想到
树链剖分
每条链由下往上就是祖先关系,所以我们可以选择用
树链剖分
来解决这道题,因为操作是对v的子树操作,所以我们在dfs的时候每个点要记录一下他最后得到子孙节点
JingLuoZZZ
·
2020-07-29 23:19
线段树
hdu-4836-The Query on the Tree(线段树+LCA)
节点的编号和lca我是用的
树链剖分
求的AC代码:#includeusingnamespacestd;constintmaxn=1e4+10;intval[ma
---cyh---
·
2020-07-29 22:47
数据结构--树链剖分
数据结构--线段树
CodeForces - 343D Water Tree
树链剖分
+线段树+dfs序
原先都是空的,1,x让x的所有孩子包括x都变成满的,2,x让x的所有父辈加上x都变成空的,3,x询问x这个节点是满的还是空的,满的输出1,空的输出0题解:对应1操作,我们dfs序一下即可,对于2操作我们用
树链剖分
来解决
mmk27
·
2020-07-29 21:47
线段树
树链剖分
Link-Cut Tree
定义又到了喜闻乐见的百度百科自学时间真·定义:动态树,\(\text{Link-Cut\Tree}\),简称\(\text{LCT}\)其中的\(\text{Link}\)指加边,\(\text{Cut}\)指删边类似于
树链剖分
皮皮刘
·
2020-07-29 09:00
Link Cut Tree(动态树)(坑)
前置知识Splay基本操作
树链剖分
Splay维护区间信息概念链剖分链剖分,是指一类对树的边进行轻重划分的操作,这样做的目的是为了整体地维护树上的连续一段节点/边,以优化时间复杂度。
linjiayang2016
·
2020-07-28 02:07
LCT
[NOI2015]软件包管理器
解题思路:
树链剖分
。用线段树维护每个节点。
ddpx3313
·
2020-07-15 22:48
总结[1.4~1.18]
下面总结一下知识点:数据结构相关
树链剖分
,树分治,树分块后缀自动机(SAM)数学相关GCD相关,莫比乌斯反演快速傅里叶变换(FFT),快速沃尔什变换(FWT),牛顿迭代法(NTT)Lucas定理,生成函数数学概率与期望数论相关大步小步算法
__Horizon__
·
2020-07-15 17:58
1146: [CTSC2008]网络管理Network (线段树套平衡树+二分+
树链剖分
)
http://www.locoso.com/company/99fssf7http://www.locoso.com/company/433a4cihttp://www.locoso.com/company/v662sf7http://www.locoso.com/company/st62sf7http://www.locoso.com/company/s762sf7http://www.loco
ndsffx501ccy
·
2020-07-15 14:45
数据结构
其他
树链剖分
问题
树链剖分
,英文名字为heavypathdecomposition或heavy-lightdecomposition。它并不是一个复杂的算法或者数据结构,而是一种对树进行分解的技术。
zgottingen
·
2020-07-15 12:46
算法问题
code forces 343D
树链剖分
第一次没有用模板写
树链剖分
,感觉爽爽的。
Lazines_by
·
2020-07-15 10:10
树链剖分
codeforces 19E Fairy
树链剖分
题意:给定一张无向图,求有多少条边保证删掉它之后能将该图转化成二分图。解析:首先二分图没有奇环。我们可以dfs出一棵树。这时候,非树边都是返祖边。每一条非树边和树边都可以构成一个环。我们只需要考虑所有只含一条返祖边的环即可。如果有且只有一个奇环的话,那么显然删除环上所有的边都可行。如果有多个奇环的话,显然是选取这些奇环共同经过的树边。而同时我们需要注意,这些树边是否被任意一个偶环经过。如果被任意一
wzq_QwQ
·
2020-07-15 10:24
Tree
Chain
P3384 【模板】
树链剖分
大佬博客:https://www.cnblogs.com/chinhhh/p/7965433.html#firstt题目描述如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1:格式:1xyz表示将树从x到y结点最短路径上所有节点的值都加上z操作2:格式:2xy表示求树从x到y结点最短路径上所有节点的值之和操作3:格式:3xz表示将以x为根节点的子树内所有
weixin_30950887
·
2020-07-15 04:36
树链剖分
学习笔记 By cellur925
于是还是学了
树链剖分
(真香),就权当打暴力的工具了。其实主要是学习它的思想,而它实际包含的知识(线段树(大多情况用线段树,理论上应该还能用其他数据结构维护)、dfs序与时间戳、树的遍历
weixin_30617737
·
2020-07-15 03:34
浅谈
树链剖分
F&Q
这是一篇迟来的博客,由于我懒得写文章,本篇以两个问题阐述笔者对
树链剖分
的初步理解。Q1:
树链剖分
解决什么问题?
树链剖分
,就是把一棵树剖分成若干连续的链,将这些链里的数据映射在线性数组上维护。
weixin_30388677
·
2020-07-15 03:40
Codeforces Round #329 D Happy Tree Party(
树链剖分
)
思路:因为y分别除以(下取整)一条链上的所有数等价于y除以(下取整)这条链上所有数的积,所以可以用
树链剖分
来做,只不过数据范围比较大,用一个状态标记当前区间的积是否大于
godspeedkaka
·
2020-07-15 02:43
程序设计竞赛
CodeForces - 1254D Tree Queries(
树链剖分
+ 树状数组 + 组合计数)
题意两种操作。第一种操作(v,d)(v,d)(v,d),首先随机选择一个点rrr,然后把所有满足路径经过vvv的uuu点都加上权值d。第二种操作询问点xxx期望权值。做法显然要考虑每个询问对于单个点的贡献。以样例为例,对于每一个操作(v,d)(v,d)(v,d),考虑对节点2产生的贡献,可以分为两种情况。当vvv在节点2所在的子树中时,显然rrr只要取vvv的子树中的点就可以对节点2产生贡献,因此
alpc_qleonardo
·
2020-07-15 01:15
CodeForces
组合计数
树链剖分
CodeForces 487E Tourists
次询问每次询问要么改变一个点的纪念品价格要么询问一次旅行所买的纪念品价格思路:很明显要先做点双连通(一个连通块内随便走)然后缩点形成了一棵树这棵树上的路径具有“割点-非割点-割点-非割点…”这种规律然后因为是树上路径的问题想到了
树链剖分
或者动态树查询路径最小值明显是常规问题
HouseFangFZC
·
2020-07-15 01:24
图论
数据结构
CodeForces
LOJ #6669 Nauuo and Binary Tree (交互题、
树链剖分
)
题目链接https://loj.ac/problem/6669题解Orzyyf太神了,出这种又有意思又有意义的好题造福人类……首先\(n\)次询问求出所有节点的深度。考虑按深度扩展(BFS),同时维护重链剖分每次扩展一个点时,从根节点所在重链开始,每次询问当前节点与链底节点的距离,这样就可以算出它们LCA的深度,也就是当前节点到根的路径上与这条重链相交部分的最大深度。那么如果这个最大深度等于当前深
suncongbo
·
2020-07-14 23:45
Water Tree CodeForces - 343D(
树链剖分
+线段树)
MadscientistMikehasconstructedarootedtree,whichconsistsofnvertices.Eachvertexisareservoirwhichcanbeeitheremptyorfilledwithwater.Theverticesofthetreearenumberedfrom1tonwiththerootatvertex1.Foreachverte
starlet_kiss
·
2020-07-14 23:24
Best Edge Weight(最小生成树+LCA+
树链剖分
)
题目链接:http://codeforces.com/contest/827/problem/D数据结构,很休闲的。。。首先我们要生成一颗最小生成树,然后,对于树上的边,答案是树外边中的最小值-1,其中树外边指的是在最小生成树过程中,可以替代当前边的所有边,然后对于每一个不在最小生成树上的边(u,v),答案是树上从u到v路径的最大值-1然后我们对这两种情况分开维护,对于树上路径,我们用LCA可以在
_bibibibi
·
2020-07-14 22:38
codeforces
[Sdoi2016]游戏(
树链剖分
+ 李超线段树(真·模板) + 李超树维护区间最小值)
洛谷链接树剖一下,直观上来看,是要在树上对一条链维护一段等差数列。如果维护的是区间和,每次在一段区间加上一段等差数列,这个可以直接在线段树上做不依赖任何科技,但这题的查询形式是最小值,直接做很难打标记进行维护。将等差数列视作一次函数,考虑用李超树在链上维护一个一次函数。预处理出每个点的深度值dep[u]在路径s,ts,ts,t上加入一条斜率为a,截距为b的直线,在s,lca(s,t)路径上点x加入
猝死在学ACM的路上
·
2020-07-14 20:06
浅谈
树链剖分
注:本文代码除最后模板已在洛谷上提交并AC,其余代码均未通过编译,出错/CE请自行换个板子对着调一下qwq定义(不严谨的口胡)
树链剖分
将一棵树按照某种方式划分成多条链,再利用一系列数据结构对链上信息进行维护
kma_093
·
2020-07-14 20:52
#
树链剖分
洛谷 1600 [NOIP2016] 天天爱跑步
树链剖分
+桶 (暴力+正解)
题目:https://www.luogu.org/problemnew/show/1600记得去年我只写了15分,还打错了freopen……;部分分很良心;1~5:暴力lca,暴力统计;复杂度:O(n^2);6~8:这一部分分已经出卖了正解;肯定有许多大牛恍然大悟(当然,没有我这个垃圾);我们发现对于每一名观察员v,他观察到的玩家i满足:1.从左向右:v-i=w[i];从右向左:v+i=w[i];
Loi_cgold
·
2020-07-14 18:19
noip
【网络流】【
树链剖分
】CodeForces786E ALT
受到线段树优化区间建图的思想启发,不难联想到:用树上的线段树优化链建图:
树链剖分
所以,这就是一个
树链剖分
优化建图的板题…#include#incl
616156
·
2020-07-14 18:45
树链剖分
网络流
树链剖分
学习小记
简介
树链剖分
,又叫轻重链剖分,是一种对树进行划分的方法。被划分后的每个点只会属于一条链上。这有什么作用呢?这就相当于把一个树上问题映射到了区间上,变成了一个在一个序列上的问题。
chickenT
·
2020-07-14 18:15
算法学习
树剖
信息学
树剖
Codeforces 504E Misha and LCP on Tree
树链剖分
+后缀数组
题意给一棵树,每个节点上有一个字符。每次询问a到b的路径组成的字符串和c到d的路径组成的字符串的lcp。n#include#include#include#include#includeusingnamespacestd;constintN=300005;intn,s[N*2],dep[N],fa[N],size[N],p1[N],p2[N],cnt,last[N],b[N*2],c[N*2],d
SFN1036
·
2020-07-14 18:40
树链剖分
后缀数组
codeforces 593D
树链剖分
题目链接新地址链接给出一棵树,每棵树有value值,两种操作:1uvx,用x依次除以u到v路径上的数,然后输出x,2px,把第p条边的权值改为x.直接
树链剖分
,然后用线段树维护乘积即可。
吃掉吃掉
·
2020-07-14 15:03
ACM
codeforces 733F (
树链剖分
RMQ)
题目链接:点击这里题意:给出一个图,每条边有权值和花费c,每次花费c能使的权值-1。给出一个预算,求减完权值后的一个最小生成树。观察到最优的策略必然是只减少一条边的权值。于是首先先将初始权值做一次最小生成树。然后枚举所有的边,如果这条边是生成树的边,求出预算都花在这条边上的结果;如果非树边,就在这条边两个点到他们的LCA路径上求出树边的最大值,这个最大值用轻重链剖分维护,(也可以往上倍增)树链上无
morejarphone
·
2020-07-14 15:21
树链剖分
RMQ
CodeForces343D.Water Tree(
树链剖分
)
D.WaterTreetimelimitpertest4secondsmemorylimitpertest256megabytesMadscientistMikehasconstructedarootedtree,whichconsistsofnvertices.Eachvertexisareservoirwhichcanbeeitheremptyorfilledwithwater.Thevert
Fxkkks
·
2020-07-14 12:35
CodeForces
水
树链剖分
线段树
树链剖分
(SPOJ-QTREE)(模板)
对于这种查询树链,修改树边的问题,我们可以使用
树链剖分
。首先处理出重边和轻边:①u和son[u]为重边,当且仅当son[u]是u的所有点中,其子树点数最多的。②不是重边的边为轻边。
jinglinxiao
·
2020-07-14 12:26
模板
树链剖分
洛谷P2420 让我们异或吧 (
树链剖分
法)
题面给出N#include#include#include#include#includeusingnamespacestd;intA[100005];//用前缀和维护的数组intpreA[100005];//A前缀和intB[100005];//原数组,经过dfs序映射后得到Avoidsswap(int&a,int&b){intt=b;b=a;a=t;}classTree_Chain{priva
engineoid
·
2020-07-14 10:57
#
树
hdu 3966(
树链剖分
)
Aragorn'sStoryTimeLimit:10000/3000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):9622AcceptedSubmission(s):2535ProblemDescriptionOurprotagonististhehandsomehumanprinceAragornco
真的好难
·
2020-07-14 07:49
数据结构
树链剖分
讲解
树链剖分
入门讲解问题导入当我们做题目的时候,往往会有一些题目是给定一颗树,并对这颗树做一堆蛇皮怪物般的操作的。
a6823202
·
2020-07-14 07:43
[Codeforces487E]Tourists(Tarjan+
树链剖分
+STL)
======这里放传送门======题解这题的意思是给一个无向图,求从某个点到某个点中间不经过重复点能够到达的所有点的点权最小值,还要支持修改某个点的点权。因为不能重复到达点,所以当它在某个点的时候,和这个点属于同一个点双联通分量的点肯定全都能用来统计答案。而因为点双缩点以后是一棵树,所以如果能把每个点双缩点,点权设置为它里面所有点的最小值,那么直接跑链剖就可以了然而把点双摘出来然后编号然后统计点
FromATP
·
2020-07-14 04:30
Codeforces
杂七杂八的图论
不知道加什么形容词的树链剖分
STL大法好
[
树链剖分
线段树] Codeforces 860E. Arkady and a Nobody-men
按照深度从小大加入,就是一个很典型的熟练剖分加线段树实现路径修改、询问的模型复杂度是O(nlog2n)最后一个点加个标记永久化、记忆化什么的卡一卡才能过…#include#include#include#include#include#include#include#include#include#include#definefifirst#definesesecondusingnamespace
LowestJN
·
2020-07-14 04:30
线段树
树链剖分
CodeForces 343D(
树链剖分
+线段树)
MadscientistMikehasconstructedarootedtree,whichconsistsofnvertices.Eachvertexisareservoirwhichcanbeeitheremptyorfilledwithwater.Theverticesofthetreearenumberedfrom1tonwiththerootatvertex1.Foreachverte
剪云 者
·
2020-07-14 02:33
数据结构
线段树
树链剖分
HDU - 5390 tree 线段树套字典树 (看题解)
HDU-5390看到的第一感觉就是
树链剖分
+线段树套字典树,感觉复杂度不太对。其实这种路径其实很特殊,一个点改变只会影响它儿子到根的路径,并且这种求最优值问题可以叠加。
weixin_30266885
·
2020-07-13 16:07
[
树链剖分
] HDU 5893 List wants to travel
Listwantstotravel题意:给一棵树,每条边有个颜色,两种操作:Changeabc,把a到b的简单路径的边颜色变成cQueryab,查询a到b的简单路径有多少段颜色,连续相邻的同色边算一段。思路:先建立树剖然后用线段树维护,记录一个区间内的颜色段数,最左颜色和最右颜色,然后就可以区间合并了,需要注意合并的顺序,没想清楚很容易就wa了,我想的是总是按查询的时间顺序把区间挨个接起来,最后合
kg20006
·
2020-07-13 06:16
ACM
题解
[
树链剖分
+MST] CF609E. Minimum spanning tree for each edge
题目链接:Minimumspanningtreeforeachedge题意:给一个无向图,n个点,m条边,对任意边edge[i],求出包含有边edge[i]的最小生成树。做法:考虑MST的性质,对任意两点u,v一定有且只有一条路径,当边[u,v]不是MST边的时候,加入边[u,v]便会形成环,于是在u到v的路径上找一条权值最大的边删去再加入边[u,v],之前环上的任意两点仍然连通。u到v路径的最大
kg20006
·
2020-07-13 06:45
ACM
题解
模板
树链剖分
BFS版本
//点和线段树都从1开始//边使用vectorvectorG[maxn];intdfs_clock,que[maxn*2],num[maxn],iii[maxn],b[maxn],a[maxn],top[maxn],deep[maxn],fa[maxn],idx[maxn];//采用静态链表//a[i]是初始时树上每个点的权值//b[i]是经过bfs后每个点的权值//idx[i]是每个点在全局线段
weixin_34112208
·
2020-07-12 08:14
树链剖分
讲解及总结(重链剖分+长链剖分)
树链剖分
是解决树上问题的一种常见数据结构,对于树上路径修改及路径信息查询等问题有着较优的复杂度。
JhonXie
·
2020-07-12 08:18
P3384 【模板】
树链剖分
P3384【模板】
树链剖分
题目描述如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1:格式:1xyz表示将树从x到y结点最短路径上所有节点的值都加上z操作2:
weixin_34075551
·
2020-07-12 08:46
树上问题
所以好多地方直接粘过来了qwq目录
树链剖分
重链剖分树剖求LCA升华树上差分各种树上问题
树链剖分
所谓
树链剖分
,就是将树上的边进行划分。
树链剖分
有重链剖分,长链剖分,实链剖分等等。
Vanyun
·
2020-07-12 08:00
洛谷 P2590 [ZJOI2008]树的统计(线段树,
树链剖分
)
传送门解题思路关于两点之间的最短距离的区间操作,很显然是
树链剖分
。因为既有区间和还有区间最大值,所以我们建立两个线段树。然后就是树剖的常规操作了。
尹昱钦
·
2020-07-12 00:00
SPOJ375——Query on a tree(
树链剖分
模板详解以及入门)
Youaregivenatree(anacyclicundirectedconnectedgraph)withNnodes,andedgesnumbered1,2,3...N-1.Wewillaskyoutoperfromsomeinstructionsofthefollowingform:CHANGEiti:changethecostofthei-thedgetotiorQUERYab:askf
say_c_box
·
2020-07-11 22:42
算法
线段树
数据结构
暑假训练+个人复习
SPOJ
算法
数据结构
树链剖分
什么错都改的错题集
2、
树链剖分
板子1>给dalao们讲题的时
_Destiny
·
2020-07-11 21:00
树链剖分
详解【后期会不断更新】
如果有不会的请点这里:线段树系列文章(未完)何谓
树链剖分
?就是将一棵树分成许多条链,使得树中所有节点都被包含在这些链里。(换句话说:就是一种使你的代码瞬间增加1KB的算法。)#怎么剖分?
LZRcqbz
·
2020-07-11 18:08
#
树链剖分
树链剖分
详解
树链剖分
定义只是把一棵树拆成链来处理而已,即将树上的某些段一起通过数据结构优化进行处理来降低复杂度。
77458
·
2020-07-11 15:43
ACM-原理讲义
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他