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
2014广州网络预选赛1008(
树链剖分
)HDU5029
ReliefgrainTimeLimit:10000/5000MS(Java/Others) MemoryLimit:100000/100000K(Java/Others)TotalSubmission(s):332 AcceptedSubmission(s):78ProblemDescriptionThesoiliscrackingupbecauseofthedroughtandth
cq_phqg
·
2014-09-22 20:00
ACM
HDU
树链剖分
树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。 记siz[v]表示以v为根的子树的节点数,dep[v]表示v的深度(根深度为1),top[v]表示v所在的重链的顶端节点,fa[v]表示v的父亲,son[v]表示与v在同一重链上的v的儿子节点(姑且称为重儿子),w[v]表示v与其父亲节点的连边(姑且称为v的父边)在线段树中的位置。只要把这些东西求出来,就能用logn的时间完成
u013007900
·
2014-09-22 19:00
hdu 5029 Relief grain(
树链剖分
好题)
ReliefgrainTimeLimit:10000/5000MS(Java/Others) MemoryLimit:100000/100000K(Java/Others)TotalSubmission(s):295 AcceptedSubmission(s):66ProblemDescriptionThesoiliscrackingupbecauseofthedroughtandth
y5885922
·
2014-09-22 17:00
c
算法
ACM
【HDU】5029 Relief grain
树链剖分
+离线标记法
首先看到这是一颗树,那么很容易想到
树链剖分
。然后想到可以将查询排个序,然后每一种查询执行完以后更新每个点的最优值。但是这样进行的复杂度太高!尤其是当z给的没有一样的时候尤其如此。
u013368721
·
2014-09-21 10:00
HDU
BZOJ 2243 SDOI2011 染色
树链剖分
思路:是一棵树,求LCA路径,迅速想到
树链剖分
。难点是维护区间合并问题。线段树上的区间合并很常规,正常做就可以,注意一下在从一个重链上跳到另一个重链的时候的区间合并。有两种解决方案。
jiangyuze831
·
2014-09-20 12:00
线段树
LCA
树链剖分
bzoj
BZOJ2243
POJ 2763 Housewife Wind
树链剖分
思路:裸地
树链剖分
。当然正解不是
树链剖分
,是DFS序+树状数组。没时间想太多就写了个链剖。
jiangyuze831
·
2014-09-20 09:00
线段树
poj
LCA
树链剖分
poj2763
QTREE系列之3
树链剖分
树链剖分
,然后以点1为根剖分,这样每次查询点1总在最高点,满足了极大的特殊性,这样我们就可以将每个区间都保存下来,然后从靠近点1的区间搜起,存在一个就直接返回。如果搜完了还没有就返回-1。
u013368721
·
2014-09-17 19:00
spoj
【HDU】4987 Little Devil I
树链剖分
传送门:【HDU】4987LittleDevilI题目分析:
树链剖分
可以写诶!首先毋庸置疑,
树链剖分
先~接下来我们给线段树两个标记flip以及mark。flip:该树上路径被翻转的情况,用布尔值表示。
u013368721
·
2014-09-17 10:00
HDU
【HDOJ】4718 The LCIS on the Tree
树链剖分
最后还是在床上找到错误的地方,用手机A掉的#_#树上的LCIS,首先还是
树链剖分
,然后就是和线段树一样维护一个区间的左右端点以及区间左最长递增,右最长递增,区间内最长递增。
u013368721
·
2014-09-17 09:00
HDU
hdu 3966 Aragorn's Story(
树链剖分
对点编号)
Aragorn'sStoryTimeLimit:10000/3000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2526 AcceptedSubmission(s):709ProblemDescriptionOurprotagonististhehandsomehumanprinceAr
y5885922
·
2014-09-16 16:00
c
算法
ACM
spoj Query on a tree(
树链剖分
模板题)
375.QueryonatreeProblemcode:QTREEYouaregivenatree(anacyclicundirectedconnectedgraph)with N nodes,andedgesnumbered1,2,3...N-1.Wewillaskyoutoperfromsomeinstructionsofthefollowingform:CHANGEiti :changeth
y5885922
·
2014-09-16 15:00
c
算法
ACM
BZOJ 3631 JLOI2014 松鼠的新家
树链剖分
/LCA
题目大意:给定一棵无根树和一个序列,在这个序列上依次遍历,求每个点的访问次数(最后一个点的访问次数要-1)
树链剖分
的裸题……考场上我还是一个弱渣,啥也不会,暴力得了50分,剩下两道题爆零了。。。
PoPoQQQ
·
2014-09-07 14:00
LCA
Tarjan
树链剖分
bzoj
BZOJ3631
SPOJ GSS系列 最大子段和 线段树+
树链剖分
+splay 1043 1557 1716 2713 2916 4487 6779
最大子段和的各种形式题解内附每道题的题意题目链接思路SPOJ1043GSS1静态区间求个最大子段和,题解SPOJ1577GSS2和1一样,区别是若区间内存在相同的元素,则该元素只计算一次。离线一下然后使劲跑。。题解SPOJ1716GSS3和1一样,就是要支持单点修改题解SPOJ2713GSS4==普通线段树,感觉和这系列关系不大。题解SPOJ2916GSS5题意有点怪,,跟3差不多,就是稍加强了点
qq574857122
·
2014-09-02 13:00
Spoj 6779 Can you answer these queries VII
树链剖分
在树上任意路径的最大子段和 区间修改点权
题目链接:点击打开链接题意:rt。。在询问时,两端向上爬时记录从深度浅的到深度深的方向上的(也就是左最大连续子段和)最后两个点在同一条重链上时合并。合并时要注意有4种情况,详见代码。线段树部分和5相似。#include #include #include #include usingnamespacestd; inlinevoidrd(int&n){ n=0; booltmp=0; charc=g
qq574857122
·
2014-09-02 13:00
BZOJ 2819 Nim
树链剖分
/DFS序+LCA+树状数组
每个节点是一堆石子,给定两种操作:1.改变x号节点的石子数量2.用从x到y的路径上的所有堆石子玩一次Nim游戏,询问是否有必胜策略Nim游戏有必胜策略的充要条件是所有堆的石子数异或起来不为零这题首先一看就是
树链剖分
然后题目很善良地告诉我们深搜会爆栈于是我们可以选择广搜版的
树链剖分
PoPoQQQ
·
2014-09-02 09:00
bfs
树链剖分
dfs序
bzoj
BZOJ2819
BZOJ 3083 遥远的国度
树链剖分
题目大意:给定一棵有根树,每个点有一个权值,提供三种操作:1.将x节点变为根节点2.将x到y路径上的点的权值全部改为v3.询问x的子树中点权的最小值
树链剖分
没商量!
PoPoQQQ
·
2014-09-01 19:00
树链剖分
bzoj
BZOJ3083
BZOJ 1036 树的统计
树链剖分
写个
树链剖分
练练手挺常规的
树链剖分
,注意这个线段树维护的是每个节点的权值,而不是原图中边的权值,在处理的时候注意一下处理边界就能A了还有一些小的注意事项详细看注释#include #include #include
jiangyuze831
·
2014-08-29 22:00
LCA
树链剖分
bzoj
ZJOI
BZOJ1036
BZOJ 3631 JLOI 2014 松鼠的新家 LCA
树链剖分
省选的day1第一题,当时不会
树链剖分
,手动模拟得了50分。。
jiangyuze831
·
2014-08-29 21:00
LCA
树链剖分
bzoj
BZOJ3631
JLOI
BZOJ 3626 LCA
树链剖分
题目大意:给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。有q次询问,每次询问给出lrz,求sigma_{l #include #include #include #definelstree[p].lson #definerstree[p].rson #defineroot0
PoPoQQQ
·
2014-08-25 17:00
线段树
树链剖分
bzoj
BZOJ3626
BZOJ 1036 树的统计 Count
树链剖分
题目大意:一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身n #include #include #include #define
PoPoQQQ
·
2014-08-25 12:00
线段树
树链剖分
bzoj
BZOJ1036
zkw线段树
BZOJ 2243 染色
树链剖分
C:将节点x到节点y路径上所有点都染成颜色z首先这种题一看就能反应出来是
树链剖分
然后就是线段树的区间合并问题了每个节点保存区间内的颜色段数、左端点颜色和右端点颜色两段区间合并时,若左区间右端点和右区间左端点颜色相
PoPoQQQ
·
2014-08-23 16:00
线段树
树链剖分
bzoj
BZOJ2243
HDU 3966
树链剖分
同上,区间更新,单点查询。#include #include #include #include #include #include #include #include #include #include #defineeps1e-12 #defineINF0x7fffffff #definemaxn100010 usingnamespacestd; #pragmacomment(linker,"
t1019256391
·
2014-08-20 15:00
HYSBZ - 1036 树的统计Count
树链剖分
求和+最大值
好水0.0#include #include #include #include #include #include #include #include #include #include #defineeps1e-12 #defineINF0x7fffffff #definemaxn31111 usingnamespacestd; charstr[maxn]; structnode { intt
t1019256391
·
2014-08-20 14:00
SPOJ - QTREE 375 Query on a tree
树链剖分
+线段树
树链剖分
,然后线段树维护最大值#include #include #include #include #include #include #include #include #include #include
t1019256391
·
2014-08-20 13:00
BJOI2014 2014.8.13
树链剖分
就可以暴力过。第一题:果然是涉及面广(偏)、考察深入(怪)、思维强度大(难)的阿米巴和小强出的题。来看一下我们60分的做法。 压位。我们考虑怎么来优化。我们对
PhilipsWeng
·
2014-08-13 22:00
多校4题解
1001 定位:中等题 LCT和
树链剖分
都可以做,简单起见就说说
树链剖分
,LCT类似。 首先注意到一条路径上是log n条重链和log n条轻边。
u011788531
·
2014-08-13 10:00
hdu 3966 Aragorn's Story
树链剖分
Aragorn'sStoryTimeLimit:10000/3000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2251 AcceptedSubmission(s):614ProblemDescriptionOurprotagonististhehandsomehumanprinceAr
firenet1
·
2014-08-08 15:00
HDU
树链剖分
树链剖分
学习指南
什么是
树链剖分
树链剖分
并不是一个复杂的算法或者数据结构,它能把一棵树拆成链。树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。
cyendra
·
2014-08-04 11:00
树|图 分治
hdu4670Cubenumberonatree首次接触树的点分治,感觉与
树链剖分
有些类似。
solotzg
·
2014-07-22 10:00
BZOJ 刷题记录 PART 6
开始一直在打
树链剖分
,打到一半忽然在众神犇的提(bi)示(shi)下,发现有O(N)的方法。试想:如果要支持区间修改(加减),最后再查询,可以用什么方法?固然,线段树和树状数组等等都可以,
u013724185
·
2014-07-03 14:00
题解
bzoj
刷题记录
BZOJ1036 [ZJOI2008]树的统计Count
树链剖分
一道很裸的
树链剖分
题目,将树轻重链剖分后用线段树维护重链,记录和与最大值即可。对着标程敲……顺便精简了一下。感觉这样就已经很短了。1A!好久没1A了……虽然是照标程改的不过还是很有成就感的。
KuribohG
·
2014-06-02 19:00
树链剖分
原理
树链剖分
原理分类:数据结构2013-08-3014:02232人阅读评论(0)收藏举报
树链剖分
用一句话概括就是:把一棵树剖分为若干条链,然后利用数据结构(树状数组,SBT,Splay,线段树等等)去维护每一条链
pi9nc
·
2014-05-28 10:00
数据结构
数据结构
【POJ】【P3237】【Tree】【题解】【
树链剖分
+线段树】
传送门:poj.org/problem?id=3237最近刷数据结构刷上瘾了??天天刷链剖==、(该学学LCT了……)Code:#include #include #include #include #include #include #definelsonipii; piiedges[maxn]; vectorG[maxn]; voidadd(intu,intv,intw){ G[u].push
u012732945
·
2014-05-11 20:00
bzoj
省选
树链剖分
教程 & bzoj 1036 [ZJOI2008] 树的统计 Count 题解
转载请注明:http://blog.csdn.net/jiangshibiao/article/details/24669751【原题】1036:[ZJOI2008]树的统计CountTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 4465 Solved: 1858[Submit][Status]Description一棵树上有n个节点,编号分别为1到n,
u013724185
·
2014-04-28 22:00
题解
教程
树链剖分
bzoj
【BZOJ】【P1146】【CTSC2008】【网络管理Network】【题解】【
树链剖分
+线段树套平衡树】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1146蒟蒻刷了两天啊!!!!!!!!!尼玛两天啊!!!!!!!!!!!重写三遍啊!!!!!!!!!!!346行代码啊!!!!!!!!!!链剖+树套树啊!!!!!!!!!30sT成翔啊!!!!!!!!!!!=============================================
u012732945
·
2014-04-26 18:00
bzoj
省选
【BZOJ】【P3531】【SDOI2014】【旅行】【题解】【
树链剖分
】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3531考场上爆零,发奋学链剖,然后水过……感谢GreenClouds神犇教我的动态开点的线段树递归的链剖会在链的时候爆栈,蒟蒻YY了一个非递归的,见代码Code:#include #include #include #include #include #include #defineXfirs
u012732945
·
2014-04-24 07:00
bzoj
省选
【BZOJ】【P1036】【ZJOI2008】【树的统计Count】【题解】【
树链剖分
】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1036卧槽要注意权值可能为负,所以qmax的时候ans要设成INT_MIn啊啊啊啊Code:#include #include #include #include #include #definelsoniG[maxn]; intdep[maxn],son[maxn],siz[maxn],fa
u012732945
·
2014-04-22 17:00
bzoj
省选
【BZOJ】【P2243】【SDOI2011】【染色】【题解】【
树链剖分
】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2243卧槽写了一上午……刚学的链剖,附赠对拍程序+数据生成器Code:#include #include #include #include #include #definelsoniG[maxn]; intn,m,root=1; intc[maxn],col[maxn]; intU[max
u012732945
·
2014-04-22 14:00
bzoj
省选
初涉
树链剖分
hrbust 2065
一般适用于对于树的区间查询与修改。几个定义:树链:树上两点之间的路径。剖分:将树上的边划分为轻边和重边。重儿子:在u的儿子节点中,siz最大的那个节点即为u的重儿子。(若存在多个,则任选一个)轻儿子:除重儿子之外的所有儿子节点均为轻儿子。重边:父节点与重儿子之间的连边。轻边:父节点与轻儿子之间的连边。重链:由重边首尾相连组成的路径。操作之前需要通过dfs初始化一些信息,fa[],son[],siz
u012161037
·
2014-03-27 19:00
FZU 2082 求树上任意点间距离 边权转为点权
树链剖分
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2082wushen博客:wuyiqi思路:边权转点权:由于线段树中的点是节点,则把题目给的边权值作为边一端距离根更远的节点的点权值。直接设置根权值为0这样不会影响题意。因为求的的是两点间所有的点权和,所以要减去LCA(u,v),因为这个点所代表的边是没有在路径上的。#include #include #incl
qq574857122
·
2014-03-01 22:00
poj 3273 Tree(
树链剖分
)
思路:这题除了比较麻烦一点外,就是个裸的
树链剖分
。用线段树维护链的时候维护最小值,最大值,还有个取反标记就行了,取反的话最大值等于负的最小值,最小值等于负的最大值……由于一些2B错误改了半天才过。。。
qian99
·
2014-01-19 00:00
数据结构
poj
树链剖分
HYSBZ 2243 染色
题目很好理解segtree不好维护,写了好久的#include #include #include #include usingnamespacestd; constintM=1e5+10; inthead[M],cnt; structEdge{ intu,v,next; voidset(int_u,int_v){ u=_u,v=_v; next=head[u]; head[u]=cnt++; }
u012073600
·
2013-12-16 13:00
数据结构
树链剖分
+segtree+treap HYSBZ 1146 网络管理Network
就是求树上的一条路径的第K大数,可修改,多组询问,当然了,对于每组询问,o(n)的时间复杂度不能接受,只能是log级别的所以就是
树链剖分
,加segtree套平衡树,代码挺长的#include #include
u012073600
·
2013-12-16 13:00
数据结构
Spoj 375 QTREE1
树链剖分
裸题
题目链接:http://www.spoj.com/problems/QTREE/题意:T个测试案例n个点的树下面n-1条边和边权 changeuv把第u-th给出的边的边权改为vquery询问路径[u,v]间最大的边权 #include #include #include #include #include #defineN10010 #defineL(x)(x>1) usingnamespac
qq574857122
·
2013-12-14 21:00
codeforce 342E
树链剖分
|| 分块
题目链接:http://codeforces.com/problemset/problem/342/E
树链剖分
代码:#include #include #include #include usingnamespacestd
qq574857122
·
2013-12-11 22:00
SPOJ QTREE(Query on a tree
树链剖分
)
树链剖分
的大致构造过程是这样的,先第一遍dfs,计算出重儿子,然后第二遍dfs就是根据重儿子构造重链,并构造线段树代码:
No__stop
·
2013-11-30 19:00
树链剖分
bzoj 1146
树链剖分
我用的是此题的
树链剖分
方法,此题时限50S。。。。首先将树按链重新标号,然后将一段链给放到线段树中取。
luyuncheng
·
2013-11-29 14:00
hdu 3804(
树链剖分
+线段树)
题意:给出一棵树,Q个询问x,w,x到1的路径上不超过w的最长边是多少。思路:题目读完了就知道用熟练剖分处理,然后可以用线段树求,线段树学的不是很好,就问了lyf怎么处理数据,他说把所有的询问按照权值的大小排序,边的大小也按权值排序,然后对每个询问把小于等于该权值的边加到树上就可以了。#pragmacomment(linker,"/STACK:10240000000000,102400000000
aixiaoling1314
·
2013-10-25 18:00
编程
算法
百度
ACM
树链剖分
hdu 4729
树链剖分
+二分
此题一看就知道是
树链剖分
,模板题!可怜我模板少抄个字母,在这两百多行的代码里找bug找了三个多小时啊!!!!
xuezhongfenfei
·
2013-10-14 21:00
poj 3237(
树链剖分
+线段树)
思路:明显的
树链剖分
,加上线段树的操作。因为有取反的操作所以每个区间要记录最大值和最小值。查询两点间的路径时,用求公共祖先的方式去求。
·
2013-10-14 10:00
poj
上一页
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
其他