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
树链剖分【HeavyLight
Spoj375.Query on a tree——
树链剖分
+线段树(基于边权)
http://www.spoj.com/problems/QTREE/模板题贴模板#include #include #include #include #definelsonl,m,rt>1; if(p>1; intans=-1; if(Ldep[v])swap(u,v); returnmax(ans,query(p[son[u]],p[v],1,pos-1,1)); } inte[maxn][
u014141559
·
2015-02-17 15:00
树链剖分
模板(基于点权,基于边权)
树链剖分
是数据结构在树上的推广,其实就是把树hash到几段连续的区间,然后用其它数据结构进行维护,相当于对树进行一个预处理dfs1()求出fa,deep,size,sondfs2()求出top,p注意:
u014141559
·
2015-02-17 15:00
模板
树链剖分
学习笔记
这样我们就引入了
树链剖分
的算法。在上述题目中,虽然树的边权发生了改变,但是树的形态是没有发生任何变化的。
CreationAugust
·
2015-02-13 12:00
数据结构
树链剖分
[Usaco2009 Jan]安全路经Travel(最短路树+并查集/
树链剖分
)
一道数据结构与图论的综合的好题,有着两种解法,可以在这里提交:http://218.28.19.228/cogs/problem/problem.php?pid=279【题解】由于1到其他点的最短路唯一,所以以1为起点的最短路恰好构成一棵树(最短路树,树边i满足:d[v[i]]==d[u[i]]+w[i])那么,一条不经过最短路径最后一条边的次短路,必然包含一条边(u,v)不在最短路树上(否则最短
cjk_cjk
·
2015-02-07 01:00
USACO
并查集
树链剖分
最短路树
BZOJ1036 [ZJOI2008]树的统计Count(
树链剖分
)
这篇blog算是对链剖的笔记吧先放下题:一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和。注意:从点u到点v的路径上的节点包括u和v本身,1 #include #defineI
cjk_cjk
·
2015-02-06 02:00
树链剖分
bzoj
BZOJ 2157 旅游
树链剖分
题目大意:维护一棵树,每条边有边权,支持下列操作:1.修改某条边的边权2.将某条路经上的边权反转3.询问某条路经上的和4.询问某条路经上的最大值5.询问某条路经上的最小值裸链剖怎么这么多--边权的处理方式是把边权放到两端点中深度较大的那个里反转就把和取反,最大最小值交换后取反就行了为何这数据范围给我一种“暴力MS能艹过去?”的错觉--#include #include #include #incl
PoPoQQQ
·
2015-02-05 09:00
线段树
树链剖分
bzoj
BZOJ2157
BZOJ 2836 魔法树
树链剖分
题目大意:维护一棵有根树,每个节点初始权值为0,支持下列操作:1.链上+2.子树求和。。。。。链剖裸题--果然链剖这种东西想要1A实在是不咋现实--#include #include #include #include #defineM100100 usingnamespacestd; structSegtree{ Segtree*ls,*rs; longlongval,mark; void*op
PoPoQQQ
·
2015-02-04 11:00
线段树
树链剖分
bzoj
BZOJ2836
HDU 3966 Aragorn's Story(
树链剖分
(基于点权,查询单点值,修改路径的上的点权)模板题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3966ProblemDescriptionOurprotagonististhehandsomehumanprinceAragorncomesfromTheLordoftheRings.OnedayAragornfindsalotofenemieswhowanttoinvadehiskingdom.As
u012860063
·
2015-01-30 20:00
线段树
HDU
树链剖分
hdu 5111 Alexandra and Two Trees(
树链剖分
+函数式线段树)
hdu5111AlexandraandTwoTrees主要方法借鉴于 http://blog.csdn.net/u013368721/article/details/41477889虽然想到过用
树链剖分
solotzg
·
2015-01-28 00:00
BZOJ 2157 旅游
树链剖分
题目大意:给出一棵树,支持以下操作:1.改变一条边的边权。2.将x到y路径的权值取反。3.查询x到y路径上最大值,最小值和权值和。思路:好裸的链剖水题啊,唯一麻烦一点地是权值放在了边上,注意一下处理就没问题了。。CODE:#include #include #include #include #defineMAX40010 #defineINF0x3f3f3f3f usingnamespacest
jiangyuze831
·
2015-01-02 16:00
线段树
树链剖分
bzoj
BZOJ 3531 SDOI2014 旅行
树链剖分
每个点有一个权值和一个颜色,多次改变一些点的权值和颜色,多次求一条路径上与起点和终点颜色相同的点的权值和以及权值最大值每种颜色开一个线段树动态开节点每个点只建一条链这样空间复杂度是O(nlogn)的然后就正常
树链剖分
就行了
PoPoQQQ
·
2014-12-18 11:00
树链剖分
bzoj
BZOJ3531
动态树(Link-Cut Tree)学习小结
动态树(LCT)支持合并分离等操作,是一棵可以动的树~类似于
树链剖分
(建议先学完
树链剖分
,再学LCT)。只不过
树链剖分
的轻重边是根据子树大小而决定的,这棵树只能是静态的。
Regina8023
·
2014-12-12 06:00
数据结构
OI
LCT
树链剖分
小结,模板
我们需要用到一种貌似高级的复杂算法——
树链剖分
。 树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。
Regina8023
·
2014-12-05 06:00
数据结构
spoj
树链剖分
OI
【
树链剖分
模板】【SPOJ 375】 Query on a tree
375.QueryonatreeProblemcode:QTREEYouaregivenatree(anacyclicundirectedconnectedgraph)with N nodes,andedgesnumbered1,2,3...N-1.Wewillaskyoutoperfromsomeinstructionsofthefollowingform:CHANGEiti :changeth
Regina8023
·
2014-12-05 06:00
数据结构
spoj
树链剖分
OI
【CF Round #278】Tourists Tarjan+
树链剖分
多次询问两个点之间的简单路径上最小点权值的最小值首先求的是最小点权值的最小值那么我们肯定要走点权越小的点越好但是由于求的是简单路径那么我们就不能经过同一个点两次那么我们Tarjan求点双联通分量每个点双维护一个最小值那么答案显然就是两点所在点双路径上的最小值
树链剖分
即可
PoPoQQQ
·
2014-12-01 17:00
Tarjan
树链剖分
uoj
UOJ#30
hdu 5044 Tree
思路:
树链剖分
+树状数组。感觉这个题出出来就是为了报复社会的,我一共跪了25次。。又是扩栈又是输入挂又是内联,最后只有用c++交能过,g++爆栈。不过话说回来这个题也挺模版的,都是
树链剖分
的基本操作。
squee_spoon
·
2014-11-29 10:00
树状数组
树链剖分
2014上海网赛
BZOJ 3626 LNOI 2014 LCA
树链剖分
题目大意:给出一棵树,有n个问题,询问在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和。思路:不会,然后看了题解,之后发现自己智商严重不足。看到数据范围就知道一定要离线处理,就这个离线处理我估计以我的智商不看题解是肯定想不出来的。。考虑这样的一种暴力,我们把z到根上的点全部打标记,对于l到r之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是上面有几个已标记了的
jiangyuze831
·
2014-11-28 16:00
LCA
树链剖分
2014
bzoj
LNOI
Tourists 点双连通+
树链剖分
传送门:【codeforces】487E.Tourists题目分析:这么多天了终于艹掉了这题,太感动了T^T看到这题,询问路径最小值问题,第一反应就是缩成一棵树然后
树链剖分
求解。
u013368721
·
2014-11-25 21:00
codeforces
hdu 5029 Relief grain
思路:
树链剖分
。这题我写了整整三天。。还学习了一些预备知识,还是自己太弱了。对树进行剖分以后,难点在线段树到底维护什么。
squee_spoon
·
2014-11-25 15:00
树链剖分
2014广州网赛
【HDU】5111 Alexandra and Two Trees
树链剖分
+主席树【树上路径的交集】【在线算法】
传送门:【HDU】5111AlexandraandTwoTrees题目分析:我们首先考虑线段上的此问题。我们有两个序列,序列1,序列2。首先我们将序列2的权值映射成序列1中和该权值相同的位置的下标(正是因为要保证映射唯一,所以序列1内的数要各不相同,序列2不需要各不相同),如果数不存在就映射到编号0。我们需要用到主席树——可持久化线段树,按照序列2从左到右的顺序依次插入每个权值到主席树中。然后每次
u013368721
·
2014-11-25 10:00
HDU
模板-
树链剖分
#defineMAXN50010 #defineL(u)(uedge[MAXN]; voidinit(intn) { for(inti=1;ix路径上的所有点已经被更新了 } if(dep[x]>dep[y])//同一条重链上深度小的tid小 swap(x,y); update(1,tid[x],tid[y],val); } //线段树部分
squee_spoon
·
2014-11-24 23:00
hdu 3966 Aragorn's Story
思路:
树链剖分
。这是我做的第一道
树链剖分
题,我对
树链剖分
的理解是,把树递归地分割成线性(重边优先),按顺序排列起来,最后长度和树的节点数一样。然后就可以利用线段树,对树上的路径进行维护。
squee_spoon
·
2014-11-24 23:00
树链剖分
BZOJ 1103 POI 2007 大都市meg 树状数组
POI不怎么难的题,实际上每个点到1的土路的数量就是这个点的深度,在土路变成公路的时候,这个点以及子树的所有节点的深度都要-1,子树修改就很基本了,可以用DFS序+fenwick,当然要是不嫌麻烦也可以
树链剖分
jiangyuze831
·
2014-11-23 13:00
poi
树状数组
树链剖分
bzoj
fenwick
FZOJ 2176 easy problem (
树链剖分
)
题目链接~~>做题感悟:感觉做多了
树链剖分
的题目,有许多是
树链剖分
+想法。。解题思路: 这题很明显的一点就是k很小,那就是告诉你可以从k入手,怎样入手呢?
u011074149
·
2014-11-19 10:00
【
树链剖分
】 FZU 2176 easy problem
建立5颗线段树,用
树链剖分
维护一下就好了。。。。
blankcqk
·
2014-11-17 18:00
HDU
【
树链剖分
】 HDOJ 4718 The LCIS on the Tree
树链剖分
,线段树区间合并。。。。比较难调试。。。
blankcqk
·
2014-11-16 11:00
HDU
UVA 11354 - Bond (最小生成树 +
树链剖分
)
解题思路: 先用Kruskal处理出最小生成树,然后用
树链剖分
+线段树处理就可以了。
u011074149
·
2014-11-10 19:00
poj 2763 Housewife Wind 【
树链剖分
维护树上权值和】
分析:很基础的一个
树链剖分
维护树上权值和,第二道
树链剖分
题目,也错了好几次。而且这个题目卡vector。有点坑。
y990041769
·
2014-11-10 17:00
Algorithm
astar
树链
BZOJ 1984 月下“毛景树”
树链剖分
题目大意:给定一棵树,边上有边权,提供一堆乱七八糟的操作(0.0),多次询问两点之间边权最大值将每条边的边权放在边下面的点上,然后按照点权处理就行了。注意两个点的LCA的点权不能被算进路径中去尼玛UBUNTU奇葩系统……我不写返回值居然直接把re给我返回回去了然后咋拍都过……交上去就WA……我跪了再也不敢不写-Wall了……#include #include #include #include #
PoPoQQQ
·
2014-11-07 14:00
树链剖分
bzoj
BZOJ1984
SPOJ 913 Query on a tree II (
树链剖分
+ 倍增 )
解题思路:
树链剖分
+倍增 开始看时,第一问还好,第二问就不知道怎么解了。其实这两问都可以用倍增法解决。
u011074149
·
2014-11-05 20:00
LCT link-cut tree Hdu 5002 Tree 2014鞍山网络赛
这里不仅写个解题报告,也写个lct的讲解由于这个暑假集训的时候我看完
树链剖分
,splay
树链剖分
会线段树以后就容易了,网上有很多写的好的博客splay可以看《伸展树的基本操作与应用》然后就是lct了,《
firenet1
·
2014-11-05 17:00
数据结构
tree
HDU
splay
Link-Cut
LCT
HDU 3804 Query on a tree (
树链剖分
)
题目链接~~>做题感悟:这题开始想错的方法,开始想用二分来着,但是写出来之后发现不对,悲剧。。解题思路: 看到这种只有询问没有修改的就有点离线的感脚。果不其然,就是用离线,因为要查询路径上不大于Wi的最大权值,so我们可以以Wi为标准往线段树中插入数据,然后就是问线,跟求逆序数差不多。这样就不会影响最终结果,处理完后排个序就ok了。代码:#pragmacomment(linker,"
u011074149
·
2014-11-04 13:00
树链剖分
学习(HDOJ 3966)
概念入门看看这个就有点明白了http://blog.sina.com.cn/s/blog_6974c8b20100zc61.html之后看了几段bin神的代码HDOJ5044 (
树链剖分
+卡常数)http
bnmjmz
·
2014-10-31 19:00
hdu 4757 Tree(可持久化字典树)
解题思路:刚开始以为是
树链剖分
,其实
树链剖分
只是用来求LCA(可以不用
树链剖分
)。
u011328934
·
2014-10-30 18:00
BZOJ 3083 遥远的国度
树链剖分
思路:子树操作,链上修改,带size域的
树链剖分
就可以搞定。换根肯定不能真的换,出题人要是闲的没事所有操作都在换根就惨。我们可以画一张图模拟下换根。
jiangyuze831
·
2014-10-30 15:00
树链剖分
bzoj
子树查询
BZOJ 1036: [ZJOI2008]树的统计Count
树链剖分
树链剖分
1036:[ZJOI2008]树的统计CountTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 5596 Solved: 2347[Submit][Status
u012797220
·
2014-10-28 22:00
BZOJ 3589 动态树
树链剖分
+容斥定理
题目大意:给出一棵树,每一个节点有一个权值,一开始所有节点的权值都是0。有两种操作,0xy代表以x为根节点的子树上所有点的权值增加y。1ka1b1a2b2……akbk代表询问。一共有k条边(k #include #include #include #defineMAX200010 #defineLEFT(posask[MAX]; structSegmentTree{ intsum,c; }tre
jiangyuze831
·
2014-10-25 08:00
线段树
树链剖分
容斥原理
bzoj
HDU 2460 Network(双连通+
树链剖分
+线段树)
HDU2460Network题目链接题意:给定一个无向图,问每次加入一条边,问个图中还剩多少桥思路:先双连通缩点,然后形成一棵树,每次加入一条边,相当于询问这两点路径上有多少条边,这个用
树链剖分
+线段树处理代码
u011217342
·
2014-10-23 13:00
树链剖分
详解及模板
这几天学习了一下
树链剖分
,顺便写一下我的理解、早上看了一下别人的讲解,云里雾里,终于算是搞懂了、
树链剖分
是解决在树上进行插点问线,插线问点等一系列树上的问题假如现在给你一棵树,然后没两条边之间有一条权值
y990041769
·
2014-10-21 17:00
数据结构
算法
线段树
并查集
树链剖分
Query on a tree 【
树链剖分
--插点问线 】
题目:spoj375.Queryonatree题意:题意很清晰,就是给你一颗树,每两点之间有权值,然后改变一些权值,问一条路径上的最大值。分析:入门题目,直接套树链模板AC代码;#include #include #include #include usingnamespacestd; constintN=10010; #defineDel(a,b)memset(a,b,sizeof(a)) st
y990041769
·
2014-10-21 11:00
数据结构
C++
优化
图论
树链剖分
HDU 5029 Relief grain(
树链剖分
)
解题思路: 首先需要
树链剖分
一下,把树剖分成链。然后的思想和HDU5044差不多,只不过这个不用数组遍历,而是用线段树代替数组。
u011074149
·
2014-10-20 20:00
hdu 4897 Little Devil I(
树链剖分
+线段树)
每条边有黑白两种颜色,初始都是白色,现在有三种操作:1uv:u到v路径上的边都取成相反的颜色2uv:u到v路径上相邻的边都取成相反的颜色(相邻即仅有一个节点在路径上)3uv:查询u到v路径上有多少个黑色边解题思路:
树链剖分
u011328934
·
2014-10-18 10:00
hdu 5029 Relief grain(
树链剖分
+线段树)
解题思路:因为是在树的路径上做操作,所以基本就是
树链剖分
了。只不过以前是用一个数组即可维护值,这题要用一个vector数组记录。过程中用线段树维护最大值。
u011328934
·
2014-10-18 10:00
hdu 4912 Paths on the tree(
树链剖分
+贪心)
解题思路:用
树链剖分
求LCA,然后根据通道两端节点的LCA深度排序,从深度最大优先选,判断两个节点均没被标记即为可选通道。每次选完通道,将该通道LCA以下点全部标记。
u011328934
·
2014-10-18 08:00
uva 11354 - Bond(
树链剖分
)
解题思路:首先建立最小生成数,然后根据这棵树做
树链剖分
。
u011328934
·
2014-10-18 08:00
hdu 5044 Tree(
树链剖分
)
解题思路:
树链剖分
,用两个数组分别计算节点和边。
u011328934
·
2014-10-17 19:00
fzu 2082 过路费(
树链剖分
)
解题思路:
树链剖分
裸题。
u011328934
·
2014-10-17 18:00
Codeforces 191C Fools and Roads(
树链剖分
)
解题思路:
树链剖分
维护边,用一个数组标记即可,不需要用线段树。
u011328934
·
2014-10-17 18:00
Codeforces 191 C Fools and Roads (
树链剖分
)
解题思路: 先
树链剖分
一下,把树剖分成链,因为最后全是询问,so~可以线性操作。
u011074149
·
2014-10-17 18:00
HYSBZ 2243 染色 (
树链剖分
)
解题思路:
树链剖分
+线段树区间合并 线段树的端点记录左右区间的颜色,颜色数目。合并的时候就用区间合并的思想。
u011074149
·
2014-10-17 16:00
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
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
其他