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-树链剖分
树链剖分
什么是
树链剖分
将一颗树划分成几条不相交的链,让每一节点都存在且仅存在于一条链中,这样我们就得到了数个线性的结构,然后可以用线段树等数据结构去维护这个整体。其实就是一个将数据结构推广至树上的方法。
jokerwyt
·
2016-05-20 19:00
ACM-
–圆–-HDOJ 1065 --I Think I Need a Houseboat--水
HDOJ题目地址:传送门IThinkINeedaHouseboatTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):11934 AcceptedSubmission(s):3361ProblemDescriptionFredMapperisconsider
qq_26891045
·
2016-05-19 21:00
ACM
think
I
I
hdoj
水
a
need
Hou
1065
BZOJ1036——树的统计count
1、题目大意:给你一棵树,有三种操作1>qmax,询问u到v中间点权的最大值2>qsum,询问u到v中间点权和3>change,把u这个节点的权值改为v2、分析:
树链剖分
的裸题,搞了一个礼拜。。。
qzh_1430586275
·
2016-05-18 09:00
线段树
树链剖分
1036
bzoj
树的统计Count
BZOJ1146——[CTSC2008]网络管理Network
2、分析:这个就是
树链剖分
+树套树#include #include #include #include usingnamespacestd; #defineM1000000 intHeight[M],
qzh_1430586275
·
2016-05-18 08:00
树链剖分
1146
bzoj
树套树
BZOJ4034——[HAOI2015]T2
1、题目大意:用一个数据结构支持树的点修改和子树修改、树上路径和2、分析:
树链剖分
裸题#include #include #include #include usingnamespacestd; #defineM1000000
qzh_1430586275
·
2016-05-18 08:00
树链剖分
t2
bzoj
4034
HAOI2015
LightOJ 1348 (
树链剖分
+ 线段树(树状数组))
题目Link分析典型的
树链剖分
题,
树链剖分
学习资料Code#includeusingnamespacestd;constintmaxn=30000+131;structEdge{intNext;intTo
Aoxuets
·
2016-05-17 20:00
【GDOI 2016 Day1】第四题 疯狂动物城
Description抽象题意:求可持久化
树链剖分
solution一道巨型码农题!
HOWARLI
·
2016-05-17 19:00
树链剖分
GDOI
GDOI2016
码农题
【GDOI 2016 Day1】第四题 疯狂动物城
Description抽象题意:求可持久化
树链剖分
solution一道巨型码农题!
HOWARLI
·
2016-05-17 19:00
树链剖分
GDOI
码农题
GDOI2016
LCA 练习题2 : hdu 3078 + poj2763 我要记一辈子的s b错误
有人说是很标准的
树链剖分
,但这题用lca也能做一做。时间复杂度有点糟TUT其实询问就是普通的lca查询。但是更新会有点麻烦。其实并不复杂
qq_24664053
·
2016-05-16 15:00
BZOJ 2243 [SDOI2011]染色
树链剖分
+LCA+区间合并线段树
题意:给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。思路:这道题敲了很久…..(好恶心….但是AC了真的很exciting就是要考虑到区间合并,两条链进行合并的时候要判断ft[x][i
qq_27925701
·
2016-05-15 21:00
树链剖分+LCA
HYSBZ 2243 染色
树链剖分
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2243题意:Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。
霜刃未曾试
·
2016-05-15 17:41
树链剖分
ACM-
–模拟打印–-湘大OJ 1086--菱形--水
湘大oj地址:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1086菱形时间限制:1000 ms | 内存限制:65536KBDescription 小明现在是湘潭大学10级计算机系的学生。他的C语言学的还算可以,但是今天老师布置的一道课后作业题却把他难住了。题目的意思是要在一个N*N(N为奇数)的菱形方格
qq_26891045
·
2016-05-14 18:00
ACM
菱形
水
1086
湘大OJ
1086
SPOJ 357 QTREE【
树链剖分
+ 线段树】
(熟练剖分可以看做链分治)今天刚好看了卿学姐的
树链剖分
视频,照着模板写了道入门题。
Yukizzz
·
2016-05-13 23:00
bzoj2125 最短路
树链剖分
好吧实际上和树剖没什么关系。。只是用来求lca的。。。 对于点x,如果不在环中,定义它的父亲为dfs树;否则定义它的父亲为它所在环在dfs树中最高的点,同时距离为它到那个最高点的最短路。然后可以用树剖求出(x,y)的lca。然后分类讨论一下,因为如果x->lca和y->lca的路径上最后一部分在一个环中,那么可能可以有另一种走法。AC代码如下:#include #include #
lych_cys
·
2016-05-12 21:00
DFS
LCA
树链剖分
仙人掌
[BZOJ3626][LNOI2014]LCA(离线+差分+
树链剖分
)
题目描述传送门题解首先把询问lr拆成两个询问。利用差分的思想,每次查询区间[1,i]与zlca的和,然后用r的值减去l-1的值就是答案。查询区间[1,i]与zlca的和,可以将1-i所有的点到根的路径上的点都+1,然后查询z到根的路径上所有点的权值和即为答案。其实这就是深度的表示。那么离线询问之后排序,时间复杂度为O(nlogn)代码#include#include#include#include
Clove_unique
·
2016-05-12 17:56
题解
省选
树链剖分
差分
[BZOJ3626][LNOI2014]LCA(离线+差分+
树链剖分
)
题目描述传送门题解首先把询问lr拆成两个询问。利用差分的思想,每次查询区间[1,i]与zlca的和,然后用r的值减去l-1的值就是答案。查询区间[1,i]与zlca的和,可以将1-i所有的点到根的路径上的点都+1,然后查询z到根的路径上所有点的权值和即为答案。其实这就是深度的表示。那么离线询问之后排序,时间复杂度为O(nlogn)代码#include#include#include#include
Clove_unique
·
2016-05-12 17:56
题解
省选
树链剖分
差分
[BZOJ3626][LNOI2014]LCA(离线+差分+
树链剖分
)
题目描述传送门题解首先把询问lr拆成两个询问。利用差分的思想,每次查询区间[1,i]与zlca的和,然后用r的值减去l-1的值就是答案。查询区间[1,i]与zlca的和,可以将1-i所有的点到根的路径上的点都+1,然后查询z到根的路径上所有点的权值和即为答案。其实这就是深度的表示。那么离线询问之后排序,时间复杂度为O(nlogn)代码#include #include #include #incl
Clove_unique
·
2016-05-12 17:00
离线
树链剖分
差分
bzoj
LNOI
poj2763 Housewife Wind【
树链剖分
+线段树】
#include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; typedefvectorVI; typedefdoubledb; constintN=100000+10; constinti
xinag578
·
2016-05-12 14:00
bzoj 3626: [LNOI2014]LCA(
树链剖分
+离线+差分)
3626:[LNOI2014]LCATimeLimit:10SecMemoryLimit:128MBSubmit:1512Solved:563[Submit][Status][Discuss]Description给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。有q次询问,每
clover_hxy
·
2016-05-12 14:34
树链剖分
差分
bzoj 3626: [LNOI2014]LCA(
树链剖分
+离线+差分)
3626:[LNOI2014]LCATimeLimit: 10Sec MemoryLimit: 128MBSubmit: 1512 Solved: 563[Submit][Status][Discuss]Description给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先
clover_hxy
·
2016-05-12 14:00
bzoj 4390: [Usaco2015 dec]Max Flow(
树链剖分
+手写栈)
4390:[Usaco2015dec]MaxFlowTimeLimit:10SecMemoryLimit:128MBSubmit:115Solved:69[Submit][Status][Discuss]DescriptionFarmerJohnhasinstalledanewsystemofN−1pipestotransportmilkbetweentheNstallsinhisbarn(2≤N
clover_hxy
·
2016-05-12 08:44
线段树
树链剖分
bzoj 4390: [Usaco2015 dec]Max Flow(
树链剖分
+手写栈)
4390:[Usaco2015dec]MaxFlowTimeLimit: 10Sec MemoryLimit: 128MBSubmit: 115 Solved: 69[Submit][Status][Discuss]DescriptionFarmerJohnhasinstalledanewsystemofN−1pipestotransportmilkbetweentheNstallsinhis
clover_hxy
·
2016-05-12 08:00
[BZOJ2819]Nim(
树链剖分
)
线段树+
树链剖分
维护区间xor和代码递归#include#include#includeusingnamespacestd;constintmax_n=5e5+5;constintmax_m=max_n
Clove_unique
·
2016-05-12 08:43
题解
树链剖分
[BZOJ2819]Nim(
树链剖分
)
线段树+
树链剖分
维护区间xor和代码递归#include #include #include usingnamespacestd; constintmax_n=5e5+5; constintmax_m
Clove_unique
·
2016-05-12 08:00
树链剖分
bzoj
手写栈
bzoj 2819: Nim(
树链剖分
+手写栈)
2819:NimTimeLimit:20SecMemoryLimit:128MBSubmit:1778Solved:688[Submit][Status][Discuss]Description著名游戏设计师vfleaking,最近迷上了Nim。普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取。谁不能取谁输。这个游戏是有必胜策略的。于是vfle
clover_hxy
·
2016-05-12 08:54
线段树
树链剖分
bzoj 2819: Nim(
树链剖分
+手写栈)
2819:NimTimeLimit: 20Sec MemoryLimit: 128MBSubmit: 1778 Solved: 688[Submit][Status][Discuss]Description著名游戏设计师vfleaking,最近迷上了Nim。普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取。谁不能取谁输。这个游戏是有必胜策略
clover_hxy
·
2016-05-12 08:00
bzoj 2836: 魔法树(
树链剖分
)
2836:魔法树TimeLimit:10SecMemoryLimit:128MBSubmit:247Solved:96[Submit][Status][Discuss]DescriptionInputOutputSampleInput40112234Add131Query0Query1Query2SampleOutput332HINTSource[Submit][Status][Discuss]题
clover_hxy
·
2016-05-11 19:17
树链剖分
bzoj 2836: 魔法树(
树链剖分
)
2836:魔法树TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 247 Solved: 96[Submit][Status][Discuss]DescriptionInputOutputSampleInput40112234Add131Query0Query1Query2SampleOutput332HINTSource[Submit][Status][D
clover_hxy
·
2016-05-11 19:00
【BZOJ4515】游戏,
树链剖分
+永久化标记线段树维护线段信息(李超线段树)
Time:2016.05.10Author:xiaoyimi转载注明出处谢谢传送门思路:李超线段树一开始听faebdc讲,并没有听的很懂ww后来找到良心博文啊有木有折越首先可以把修改转换一下,因为那个dis非常不爽。显然s~t的路径有s~lca和lca~t组成。令d[x]表示x的深度,对于s~lca上面的点,修改的值相当于a*(d[s]-d[x])+b=-a*d[x]+(b-a*d[s]),lca
xym_CSDN
·
2016-05-10 22:00
bzoj4034 T2 【
树链剖分
+线段树】
#include #include #include #include #include #include usingnamespacestd; constintN=200000+10; typedeflonglongll; struct { intl,r; llf,sum; }tree[4*N]; intg[N][2],top[N],fa[N],dep[N],son[N],sz[N],w[N]
xinag578
·
2016-05-09 12:00
VIJOS1986 小h的妹子树二
题意简述给定一棵有n个节点的树n<=10^5需要支持2种操作Quv询问从u到v路径上所有点的权值和Cuv改变u的权值为v操作次数m<=2*10^5分析无脑
树链剖分
,然后直接用BIT维护就可以了但是这题的操作比较简单
STcyclone
·
2016-05-08 23:00
hdu3966 Aragorn's Story【
树链剖分
+线段树】
#pragmacomment(linker,"/STACK:100000000,100000000") #include usingnamespacestd; constintN=50000+10; struct { intf,l,r,sum; }tree[4*N]; intg[N][2],c[N],top[N],fa[N],dep[N],son[N],sz[N],w[N],tot; vecto
xinag578
·
2016-05-08 22:00
HDU 5242 Game (树上贪心|类
树链剖分
)
大意:有向图给定n-1条边然后给出每个点的权值,每个点的权值只能累加一次,问从根节点走,可以走k次能累计的最大点权和。思路:本题可以进行两遍dfs操作,第一次为从叶子节点到跟节点的节点权值和。然后根据权值排序,然后根据排序后的下标,来进行第二遍dfs搜索即从当前到根节点的和。输出前k大值即可。#include #include #include #defineinf0x3f3f3f3f #incl
Grit_ICPC
·
2016-05-08 21:00
贪心
树链剖分
bzoj1036 树的统计Count 【
树链剖分
+线段树】
#include usingnamespacestd; constlonglonginf=1v[N]; intn,fa[N],dep[N],sz[N],son[N],w[N],tot,top[N]; llcost[N],t; voidbuild(into,intl,intr) { tree[o].l=l; tree[o].r=r; tree[o].mx=-inf; tree[o].sum=0;
xinag578
·
2016-05-08 21:00
BZOJ2243 [SDOI2011]染色
分析:
树链剖分
套线段树,没写过,代码写得很乱,还犯了不少错,加了点注释,以后不能犯这种错了。
Monster__Yi
·
2016-05-08 17:00
线段树
树链剖分
HDU5274 Dylans loves tree(
树链剖分
+异或)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5274题意很简单,输入以后,查询的时候0xy,是把x点改成y。1xy,是查询[x,y]中,数字出现的次数是否都是偶数,出现奇数的数字 #include #include #include #include #include #include #include #include #include #incl
xtttgo
·
2016-05-07 19:00
HDU5029 Relief grain(
树链剖分
+线段树)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5029每天一题,龟速练习着树剖,感觉效率非常低。。。这题相比于HDU3966那种模板题来说,已经是很有思维难度的题目了(像我这种ZhiZhang选手看了别人的博客才看懂)。题意:n个点的树,m次操作。每次操作输入L,R,V,表示在[L,R]这个区间加上V这个数字。比如[1,2]加上1,[1,3]加上1,那
xtttgo
·
2016-05-07 18:00
Codeforces 165D Beard Graph 【
树链剖分
】
题目链接:Codeforces165DBeardGraphD.BeardGraphtimelimitpertest4secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputLet’sdefineanon-orientedconnectedgraphofnverticesandn - 1edgesasabe
笑着走完自己的路
·
2016-05-07 14:03
树链剖分
codeforces
Codeforces 165D Beard Graph 【
树链剖分
】
题目链接:Codeforces165DBeardGraphD.BeardGraphtimelimitpertest4secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputLet’sdefineanon-orientedconnectedgraphofnverticesandn - 1edgesasabe
chenzhenyu123456
·
2016-05-07 14:00
poj3694 Network Tarjan+
树链剖分
嗯就如上一篇所说,我们缩完点之后,就成为了一棵树,然后每个点权对应它到他的父节点的边是否狗带,然后每次LCA在链上乱跳的时候维护下清空标记就行了,qlog^2n的果然跑得快,172ms。。。。。。Problem:3694User:BPM136 Memory:19208KTime:172MS Language:G++Result:Accepted SourceCode /**************
BPM136
·
2016-05-07 12:00
Tarjan
树链剖分
HDU3966 Aragorn's Story(
树链剖分
)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3966昨天学了树剖以后感觉这个算法非常厉害,于是百度了几个树剖(入门)题来做,这题也是一个树剖入门题啦!题意:输入n个点,m条边(m一定等于n-1,也不知道为什么还要输入),q个询问。然后输入n个点的权值,然后输入m条边。询问有3种操作:(1)’I’:[a,b]区间加上c。(2)’D’:[a,b]区间减去
xtttgo
·
2016-05-06 23:00
BZOJ2002 HNOI2010 弹飞绵羊 LCT
LCT=
树链剖分
+平衡树(多用Splay),AC之后才对这个等式深有感触……我们定义一个操作Access(x),这个操作可以将从x到根节点路径上的所有节点放到一颗Splay里,一切操作都在这棵Splay
WDZRMPCBIT
·
2016-05-06 22:00
树链剖分
模板
树链剖分
的详解这里写得很好。我的标程与它的做法一样。
树链剖分
的作用相当于在树上做线段树。模板题【ZJOI2008】树的统计在一颗树上,区间查询,单点修改。
u011056504
·
2016-05-06 17:00
bzoj 4127: Abs(
树链剖分
+线段树)
4127:AbsTimeLimit: 40Sec MemoryLimit: 256MBSubmit: 366 Solved: 129[Submit][Status][Discuss]Description给定一棵树,设计数据结构支持以下操作 1uvd表示将路径(u,v)加d 2uv表示询问路径(u,v)上点权绝对值的和 Input第一行两个整数n和m,表示结点个数和操作数接下来一行n个整数
clover_hxy
·
2016-05-05 22:00
BZOJ 1036 [ZJOI2008]树的统计Count (
树链剖分
)
看着题目懵逼了很久,不知道怎么做,搜了一发题解,才发现是
树链剖分
。然而
树链剖分
这个名词也只是停留在听说过的程度,于是跟着一个大神的博客看了一下午才看懂,然后照着博客打了一次,但是一直是WA。索性重
xtttgo
·
2016-05-05 20:00
poj3237Tree 【
树链剖分
+线段树】
#include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; constintinf=0x7fffffff; constintN=10000+10; structedge { inta,b
xinag578
·
2016-05-05 18:00
BZOJ 4448: [Scoi2015]情报传递
树链剖分
主席树
4448:[Scoi2015]情报传递题目连接:http://www.lydsy.com/JudgeOnline/problem.php?id=4448Description奈特公司是一个巨大的情报公司,它有着庞大的情报网络。情报网络中共有n名情报员。每名情报员口J-能有若T名(可能没有)下线,除1名大头日外其余n-1名情报员有且仅有1名上线。奈特公司纪律森严,每名情报员只能与自己的上、下线联系,
qscqesze
·
2016-05-04 21:00
【辅助算法】整体二分
这种问题主要有以下几种对树上的一段区间求第K大解答方法码农方法:整体二分+
树链剖分
+线段树+Treap这种方法中我们对权值进行二分,然后对树上两点之间小于(或者是大于)MID的权值进行统计看是否符合第K
Qantun_Mechanics
·
2016-05-04 15:00
算法
fzu2082 过路费 【线段树+
树链剖分
】
#include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; typedefvectorVI; typedefdoubledb; constintN=50000+10; constintin
xinag578
·
2016-05-04 09:00
ACM-
入门经典:函数和递归
例题4-1古老的密码:UVa1339给定两个长度相同且不超过100的字符串,判断可否将其中一个字符串各个字母重拍,然后对26个字母做一个一一映射,使得两个字符串相同。例如:输入JWPUDJSTVP重排后得到WJDUPSJPVT,然后子母映射(B-A,C-B,…Z-Y)可得VICTORIOUS。输入两个字符,输出YES或者NO//UVa1339AncientCipher //RujiaLiu #in
mijian1207mijian
·
2016-05-03 23:00
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他