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-树链剖分
Link-Cut-Tree模板
这次不是在很多人的帮助下……而是自己调的代码、、、略微看了看自己LCT掉进去的几个坑、、、略微介绍一下:LCT的类似于
树链剖分
,只不过
树链剖分
是静态的,而LCT是动态的。
zxn0803
·
2016-03-09 20:00
树链剖分
学习小记
树链剖分
在处理一类在树上修改,查询的问题时,我们往往需要把这棵树剖分成一个序列。然后利用数据结构在这个序列上把你所需要的东西一段一段地查出来。
alan_cty
·
2016-03-09 19:00
数据结构
算法
树链剖分
LCT的初步理解
这是我个人的观点~~有大神也是这么说的,像其他算法比如
树链剖分
,只能处理静态的数据或者在轻重链上的边或点的权值,对于其他动态的处理就毫无办法了。而用裸的暴力绝对是要T的。
silentsaber~
·
2016-03-09 15:15
数据结构
LCT
3631: [JLOI2014]松鼠的新家|
树链剖分
题目大意:小熊每走到一个新的房间就需要吃一个糖,问每个房间至少有几个糖。题目中说的很不明确的样子。。。。。。枚举相邻的两个点,把这连接这两个点的链上的点的权值都+1,然后除了起点外其他的点都再-1可以直接树剖线段树直接标记改,复杂度O(nlog22n)也可以直接差分一下最后在dfs一遍,复杂度O(nlog2n)code1线段树:#include #include #include #include
ws_yzy
·
2016-03-08 19:00
树链剖分
bzoj2243 染色
树链剖分
树上也一样,我们可以把树上的区间转化为dfs序列中若干个连续区间,然后用
树链剖分
使区间的个数 #include #include #defineN100005 usingnamespacestd; intn
lych_cys
·
2016-03-08 18:00
线段树
树链剖分
dfs序
3306: 树|
树链剖分
这题算是3083的伪·双倍经验版?题解可以见http://blog.csdn.net/ws_yzy/article/details/50827745原题是树链修改只不过这题变成了单点修改#include #include #include #include #include #include #include #include #include #include #defineN200005 #d
ws_yzy
·
2016-03-08 16:00
树链剖分
3083: 遥远的国度|
树链剖分
首先先
树链剖分
,这样同时可以查询子树和修改链。
ws_yzy
·
2016-03-08 15:00
树链剖分
[BZOJ 3575] HNOI2014 道路堵塞
刚开始脑子一抽想到最短路树+
树链剖分
方向…感到不对去羞耻地查了查题解…正解:注意到某个点被删掉之后,最短路依然是pre(a)+dis(a,b)+suf(b)的形式,pre表示起点到a,suf表示从b到中点
visit_world
·
2016-03-06 15:00
数据结构
SPFA
bzoj
HDU 3966 Aragorn's Story
树链剖分
+BIT区间修改/单点询问
Aragorn'sStoryDescriptionOurprotagonististhehandsomehumanprinceAragorncomesfromTheLordoftheRings.OnedayAragornfindsalotofenemieswhowanttoinvadehiskingdom.AsAragornknows,theenemyhasNcampsoutofhiskingdo
zxhl
·
2016-03-05 12:00
BZOJ2040 : [2009国家集训队]拯救Protoss的故乡
考虑用
树链剖分
+线段树来模拟这个过程:首先加入所有费用为0的边,每次求出到根距离最小的可增广的叶子,然后求出路径上容量的最小值,将所有边的容量减掉它。
Claris
·
2016-03-04 23:00
【BZOJ2243】【SDOI2011】染色(
树链剖分
+线段树)
题目描述传送门题解
树链剖分
一样就能看出来,更重要的是线段树的处理。p数组与sum同步,.l/.r分别表示这个区间左端点和右端点的颜色。然后各种乱搞。
Clove_unique
·
2016-03-04 22:41
题解
线段树
树链剖分
【BZOJ2243】【SDOI2011】染色(
树链剖分
+线段树)
题目描述传送门题解
树链剖分
一样就能看出来,更重要的是线段树的处理。p数组与sum同步,.l/.r分别表示这个区间左端点和右端点的颜色。然后各种乱搞。
Clove_unique
·
2016-03-04 22:00
线段树
树链剖分
bzoj
SDOI
BZOJ 2243: [SDOI2011]染色
树链剖分
+线段树区间合并
2243:[SDOI2011]染色Description 给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。 Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包含n个正整
zxhl
·
2016-03-03 20:00
BZOJ 1036: [ZJOI2008]树的统计Count
树链剖分
1036:[ZJOI2008]树的统计CountDescription一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身Input输
zxhl
·
2016-03-02 17:00
【POJ3237】Tree(
树链剖分
)
树链剖分
模板题。但是这个是要修改边权,比修改点权麻烦一点。和修改点权一样,重儿子、父亲等东西都需要记录,不同的是需要再记录一下每个点到它重儿子的边的编号,以及每个点到它的父亲的边的编号。
Clove_unique
·
2016-03-01 20:03
题解
线段树
树链剖分
【POJ3237】Tree(
树链剖分
)
树链剖分
模板题。但是这个是要修改边权,比修改点权麻烦一点。和修改点权一样,重儿子、父亲等东西都需要记录,不同的是需要再记录一下每个点到它重儿子的边的编号,以及每个点到它的父亲的边的编号。
Clove_unique
·
2016-03-01 20:00
poj
树链剖分
SPOJ 2666 QTREE4 - Query on a tree IV
若干的个链之间有父子关系,每次维护信息和普通的
树链剖分
没有很大区别。
Fuxey
·
2016-03-01 00:00
树的分治
BZOJ3607 : 数据网络
首先按照最长路法则将这棵树进行
树链剖分
,那么每个叶子的贡献为它与它所在链顶端的点的距离。将叶子按贡献从大到小排序,并求出$h[x]$表示$x$子树内叶子排名的最小值。
Claris
·
2016-02-29 23:00
【Qtree】Query on a tree系列LCT解法
Qtree1-7Qtree1裸的
树链剖分
,当然也可以用LCT写,就不说什么了...Qtree2倍增lca,当然也可以用LCT写,就不说什么了...Qtree3裸的
树链剖分
,当然也可以用LCT写,就不说什么了
thy_asdf
·
2016-02-29 21:00
[HDU3966]Aragorn's Story(
树链剖分
)
题目描述传送门题解
树链剖分
模板题。有多组数据。
Clove_unique
·
2016-02-29 20:00
HDU
树链剖分
【bzoj3626】LCA
树链剖分
难得有一道从头到尾自己做的题了T_T(←这么弱还好意思说)。 首先考虑一个特定的询问(x,z)应该怎么做:将所有1...x的点到根的路径覆盖一遍,然后就是求z到根的每一条边的覆盖次数的和。(画个图就很明确了)。 于是可以将询问(l,r,z)拆成(r,z)和(l-1,z),然后按照第一维排序(注意特判0的情况)。 然后将x从1循环到n,每次将x到根的路径覆盖一遍(在原来的基
lych_cys
·
2016-02-29 20:00
DFS
树状数组
树链剖分
dfs序列
树链剖分
学习笔记
首先我们有一颗树每个点(或者边)有权值,我们要做的就是询问两个点之间路径上各点(边)权值的最大、最小,权值和(就是线段树能干的),然后我们还要支持在线更改任意节点(边)的权值。我们要做的是轻重链剖分,首先我们看几个定义size:和SBT里的一样,size[i]为以该点为根节点的子树一共有几个节点。重儿子:一个节点当不为叶子节点的时候有且只有一个重儿子,重儿子为该点的儿子中size最大的,有多个最大
DCrusher
·
2016-02-29 19:45
树链剖分
[BZOJ1036][ZJOI2008]树的统计Count(
树链剖分
)
题目描述传送门题解
树链剖分
模板题。
Clove_unique
·
2016-02-29 18:00
树链剖分
bzoj
ZJOI2008
【bzoj4012】开店
树链剖分
&主席树
然后扒到了一个
树链剖分
的题解,发现还是可做的。 考虑一个朴素的问题,如果没有颜色限制,问所有点到u的距离之和是多少?
lych_cys
·
2016-02-29 09:00
离散化
树链剖分
主席树
可持久化线段树
LCT学习笔记
LCT的大体思想类似于
树链剖分
中的轻重链剖分(轻重链剖分请移步http://www.cnblogs.com/BLADEVIL/p/3479713.html),轻重链剖分是处
DCrusher
·
2016-02-27 22:35
LCT
SPOJ QTREE
树链剖分
375.QueryonatreeProblemcode:QTREE Youaregivenatree(anacyclicundirectedconnectedgraph)with N nodes,andedgesnumbered1,2,3...N-1.Wewillaskyoutoperfromsomeinstructionsofthefollowingform:CHANGEiti :changet
zxhl
·
2016-02-27 17:00
[ZJOI2008] [BZOJ1036] 树的统计Count
这个就不多说了,
树链剖分
模板题。
whzzt
·
2016-02-27 14:00
【专题小结】数据结构
LCT–Link-Cut-TreeLCT的大致思想是,动态维护
树链剖分
。
树链剖分
中,我们有重边和轻边,重链上DFS序是连续的一段,任意一个点到根的路径上会经过不超过logn条轻边。
ChrysanthemumZhao
·
2016-02-26 16:38
专题
【专题小结】数据结构
LCT–Link-Cut-TreeLCT的大致思想是,动态维护
树链剖分
。
树链剖分
中,我们有重边和轻边,重链上DFS序是连续的一段,任意一个点到根的路径上会经过不超过logn条轻边。
ChrysanthemumZhao
·
2016-02-26 16:38
专题
【专题小结】数据结构
LCT–Link-Cut-TreeLCT的大致思想是,动态维护
树链剖分
。
树链剖分
中,我们有重边和轻边,重链上DFS序是连续的一段,任意一个点到根的路径上会经过不超过logn条轻边。
ChrysanthemumZhao
·
2016-02-26 16:00
数据结构
树链剖分
(三)(除了道馆之战——暂时可以告一段落了)
开心~今天A了两道
树链剖分
的题,和一道可持久化线段树。预备知识就不说了。讲一下我调了快一天的(简单题。
zxn0803
·
2016-02-23 18:00
[BZOJ3999] [TJOI2015]旅游
id=3999题目大意给定一棵树,树上有权值,要求支持查询树上两点a—>b(有方向)间路径上max(xj−xi)且j到a的距离比i大以及路径整体+c题解
树链剖分
+线段树合并注意细节!!
slongle_amazing
·
2016-02-22 10:00
【个人整理】NOIP知识点汇总
floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树树上倍增(LCA)树的直径、树的重心dfs序*
树链剖分
数
DQSSS
·
2016-02-21 17:49
===其它===
个人
【个人整理】NOIP知识点汇总
floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树树上倍增(LCA)树的直径、树的重心dfs序*
树链剖分
数
LOI_DQS
·
2016-02-21 17:00
【BZOJ 1036】【ZJOI 2008】树的统计
树链剖分
模板题
sth神犇的模板://bzoj1036题目:一个n个点的树每个点有一个权值,支持修改单点权值,求某两点路径上的点权和或最大点权。 #include usingnamespacestd; intpos[30001],f[30001],up[30001],son[30001],size[30001],a[80001],next[80001],last[30001],sum[100001],max
abclzr
·
2016-02-21 13:00
codevs 4633 [Mz]
树链剖分
练习
线段树的pushdown千万不能写错。要不然会WA整整6天。。。。。lol裸树剖。#include#include#include#include#definemaxn1000050#definemaxe200500#definemaxv100500usingnamespacestd;structedge{longlongv,nxt;}e[maxe];longlongn,q,type,a,b;lo
ziliuziliu
·
2016-02-19 17:00
采矿(陈许旻)
树链剖分
+线段树+DP
sb错误坑了我好久……
树链剖分
时对于没有儿子的点,out[x]不要忘记记录(子树dfs序的最大值)那么这道题就是一道DP啦。
Phenix_2015
·
2016-02-19 08:00
树链剖分
学习
近期学习
树链剖分
,在网上搜了非常多文章,这里推荐一篇博客:点击打开链接。 这篇博客讲的非常细致。
phlsheji
·
2016-02-18 18:00
BZOJ 3307: 雨天的尾巴( LCA + 线段树合并 )
路径(x,y)+z:u处+z,v处+z,lca(u,v)处-z,fa(lca)处-z,然后dfs一遍,用线段树合并.O(MlogM+MlogN).复杂度看起来不高,但是跑起来很慢.另一种做法是先
树链剖分
JSZX11556
·
2016-02-17 12:00
树链剖分
模板
#include#include#include#include#include#definemaxn30002#defineinf1000000usingnamespacestd;structedge{intto,point,v;};structnode{intmaxi;intsumi;};edgee[maxnsize[k])k=e[p].v;if(!k)return;dfs2(k,chain)
qq_20669971
·
2016-02-15 15:00
hdu3966
树链剖分
入门题
#include #include #include #include #include #include #include #include #include #include #include #include constintN=50010; constintINF=1e9+10; intn,m,Q; intnum[N]; inthead[N]; inttot; structEdge{ in
zjck1995
·
2016-02-14 19:00
树链剖分
树链剖分
浅谈
树链剖分
树链剖分
是分块的思想将树上所有边分成轻重边,把重边连成重链,把轻边单独维护,重边连成的链放在数据结构中,根据两点间重链和轻边数量的限制,使得时间复杂度能够令人满意一些定义重儿子:在u
slongle_amazing
·
2016-02-13 12:00
BZOJ2164 : 采矿
树链剖分
+线段树,每个节点维护以下信息:(1)单独在某个点分配$i$个人的最大收益。可以$O(m)$合并。(2)分配$i$个人的最大收益。可以用$O(m^2)$合并。
Claris
·
2016-02-13 02:00
BZOJ 2243 染色
树链剖分
有两种操作:Cabc将\(a\tob\)的路径所有顶点上的颜色变为cQab查询\(a\tob\)的路径上的颜色段数,连续相同颜色视为一段分析:首先
树链剖分
,下面考虑线段树部分:我们维护一个区间的左端点的颜色和右断点的颜色以及该区间的颜色段数
AOQNRMGYXLMV
·
2016-02-12 18:00
BZOJ 3672: [Noi2014]购票(
树链剖分
+ 线段树 + 凸包 )
弄成前缀和(到根),dp(i)=min(dp(j)+(s(i)-s(j))*p(i)+q(i)).链的情况大家都会做...就是用栈维护个下凸包,插入时暴力弹栈,查询时就在凸包上二分/三分.扩展到树上的话,就先
树链剖分
JSZX11556
·
2016-02-12 14:00
POJ 3237 Tree
树链剖分
题意:给出一棵树,每条边有一个权值。下面有3种操作:改变某条边的权值将一条路径上的所有边的权值取反查询一条路径上的最大权值分析:因为是线段树成段取反操作,可以先打个neg标记,表示这段区间的数是否取反。再维护区间最大值和最小值,取反之后,新区间的最大值是原来最小值的相反数,新区间最小值是原来最大值的相反数。#include #include #include usingnamespacestd;
AOQNRMGYXLMV
·
2016-02-11 23:00
bzoj 4034 [HAOI2015] T2(
树链剖分
,线段树)
4034:[HAOI2015]T2TimeLimit:10Sec MemoryLimit:256MBSubmit:1536 Solved:508[Submit][Status][Discuss]Description 有一棵点数为N的树,以点1为根,且树点有边权。然后有M个操作,分为三种:操作1:把某个节点x的点权增加a。操作2:把某个节点x为根的子树中所有点的点权都增加a。操作3:询问某个
hahalidaxin
·
2016-02-11 16:00
HDU 5614 Baby Ming and Matrix tree
树链剖分
题意:给出一棵树,每个顶点上有个\(2\times2\)的矩阵,矩阵有两种操作:顺时针旋转90°,花费是2将一种矩阵替换为另一种矩阵,花费是10树上有一种操作,将一条路经上的所有矩阵都变为给出的矩阵,并输出最小花费。分析:矩阵可以分为两类共6种,一类是两个1相邻的矩阵共4种;一类是两个1在对角线的矩阵共2种。同一类矩阵可以通过旋转操作得到,否则只能用替换。事先计算好每种矩阵转换到另外一种矩阵的最少
AOQNRMGYXLMV
·
2016-02-11 11:00
bzoj 1036 [ZJOI2008]树的统计Count(
树链剖分
,线段树)
1036:[ZJOI2008]树的统计CountTimeLimit:10Sec MemoryLimit:162MBSubmit:10677 Solved:4313[Submit][Status][Discuss]Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.Q
hahalidaxin
·
2016-02-11 11:00
poj 3237 Tree(
树链剖分
,线段树)
TreeTimeLimit:5000MS MemoryLimit:131072KTotalSubmissions:7268 Accepted:1969DescriptionYouaregivenatreewithNnodes.Thetree’snodesarenumbered1throughNanditsedgesarenumbered1throughN−1.Eachedgeisassociat
hahalidaxin
·
2016-02-10 22:00
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他