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-树链剖分
Acdream 1424
树链剖分
还是做的少,都完全不知道往
树链剖分
方向想,赛后听了昂神思路才恍然。
cugbbaoge
·
2014-10-06 19:00
Baoge
HDU 3966 Aragorn's Story
树链剖分
。。。
u011788531
·
2014-10-05 11:00
HDOJ 5044 Tree
树链剖分
裸题。。。。又要扩栈又要输入挂还卡格式。。。。
u012797220
·
2014-10-03 11:00
SPOJ QTREE 375. Query on a tree
树链剖分
。。。
u011788531
·
2014-10-02 22:00
HDU 5044 Tree(
树链剖分
)
HDU5044Tree题目链接就简单的
树链剖分
,不过坑要加输入外挂,还要手动扩栈代码:#include #include #include #include usingnamespacestd; constintN
u011217342
·
2014-10-02 21:00
HYSBZ 2243 染色 (
树链剖分
)
HYSBZ2243染色题目链接
树链剖分
,关键在于线段树的维护,对于每个结点要记录下最左边和最右边的颜色,合并的时候,如果颜色相同那么颜色段要减1代码:#include #include #include
u011217342
·
2014-10-02 18:00
树链剖分
我们需要用到一种貌似高级的复杂算法——
树链剖分
。 树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。
u011788531
·
2014-10-02 18:00
树链剖分
小结
树链剖分
,计算机术语,指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、SBT、SPLAY、线段树等)来维护每一条链。
u013368721
·
2014-10-02 10:00
算法小结
HDOJ 3966 Aragorn's Story
树链剖分
+树状数组(输入有坑....)Aragorn'sStoryTimeLimit:10000/3000MS(Java/Others) MemoryLimit:32768/32768K(Java
u012797220
·
2014-10-01 20:00
POJ 3723 Tree(
树链剖分
)
POJ3237Tree题目链接就多一个取负操作,所以线段树结点就把最大和最小值存下来,每次取负的时候,最大和最小值取负后,交换即可代码:#include #include #include #include usingnamespacestd; constintN=10005; constintINF=0x3f3f3f3f; intdep[N],fa[N],son[N],sz[N],top[N]
u011217342
·
2014-10-01 10:00
HYSBZ 1036 树的统计Count(
树链剖分
)
HYSBZ1036树的统计Count题目链接就
树链剖分
,线段树维护sum和maxx即可代码:#include #include #include #include usingnamespacestd;
u011217342
·
2014-10-01 00:00
Light 1348 - Aladdin and the Return Journey(
树链剖分
)
Light1348-AladdinandtheReturnJourney题目链接
树链剖分
基础题,注意一个坑点,就是下标按0开始的话按我的写法是会错的,因为son初值赋成0了,要么改一下son初值,要么把下标都
u011217342
·
2014-10-01 00:00
SPOJ QTREE Query on a tree(
树链剖分
)
SPOJQTREEQueryonatree题目链接
树链剖分
基础题代码:#include #include #include #include usingnamespacestd; constintN=
u011217342
·
2014-09-30 22:00
POJ 2736 Housewife Wind(
树链剖分
)
POJ2763HousewifeWind题目链接就
树链剖分
。。不过这题坑vector啊!
u011217342
·
2014-09-30 20:00
UVA 11354 - Bond(
树链剖分
)
UVA11354-Bond题目链接题意:给定一个图,要求每次询问两点,求出这两点间路径最大危险系数最小思路:先求最小生成树,在生成树上每次询问求LCT就可以了,利用
树链剖分
求解代码:#include #
u011217342
·
2014-09-30 17:00
FZU 2082 过路费(
树链剖分
)
FZU2082过路费题目链接树链抛分修改边的模板题代码:#include #include #include usingnamespacestd; typedeflonglongll; constintN=50005; intdep[N],id[N],sz[N],top[N],son[N],fa[N],idx; intn,m; llbit[N]; structEdge{ intu,v; ll
u011217342
·
2014-09-30 16:00
HDU 3966 Aragorn's Story(
树链剖分
)
HDUAragorn'sStory题目链接树抛入门裸题,这题是区间修改单点查询,于是套树状数组就OK了代码:#include #include #include #include usingnamespacestd; constintN=50005; inlineintlowbit(intx){returnx&(-x);} intdep[N],fa[N],son[N],sz[N],top[N
u011217342
·
2014-09-30 12:00
HDU - 5044(
树链剖分
)
#include #include #include #include #include usingnamespacestd; #pragmacomment(linker,"/STACK:102400000,102400000") constintmaxn=111111; longlongADD1[maxn],ADD2[maxn]; intside,node,wei[maxn],link[max
playwfun
·
2014-09-29 17:00
Algorithm
C++
算法
HDU
poj3237
树链剖分
比上一篇那题多了一种取相反数的操作,直接在那题代码上改了,这里线段树上的每个节点同时记录最大值和最小值,遇到相反操作则最大值的相反数变成最小值,最小值的相反数变成最大值,中间利用好lazy和pushdown,然后就差不多了。#include #include #include #include #definemaxn1edges; vectorg[11111]; intn,a,b,c,sz; in
cugbbaoge
·
2014-09-29 16:00
Baoge
HDU 3966 Aragorn's Story
树链剖分
入门题#include #include #include usingnamespacestd; constintmaxn=50010; structedge { intv,next; }e[maxn*2]; intn,m,q; intfirst[maxn],cnt; inttop[maxn],tid[maxn],rank[maxn],sz[maxn],f[maxn],son[maxn],de
u011686226
·
2014-09-29 16:00
spoj375
树链剖分
最近网赛老出这样的题,不得不去学习学习呀。参考:这篇博客 如果觉得看的不明白,可以先参考这个ppt在看的迷迷糊糊,略懂之后稀里糊涂的A了道基础题#include #include #include #include #definemaxn1edges; vectorg[11111]; intn,a,b,c,sz; intf[11111],top[11111],w[11111],s[11111];
cugbbaoge
·
2014-09-29 15:00
Baoge
HDU 5052 Yaoge’s maximum profit 裸
树链剖分
2014 ACM/ICPC Asia Regional Shanghai Online
行给出每个点点权表示每个点买卖鸡腿的价格下面n-1行给出树边下面Q个操作Q行u,v,val从u走到v,过程中可以买一个鸡腿,然后到后面卖掉,输出max(0,最大的收益)然后给[u,v]路径上点点权+=val思路:
树链剖分
裸题
qq574857122
·
2014-09-28 16:00
2014上海网络预选赛1003(
树链剖分
)HDU5044
TreeTimeLimit:10000/5000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):700 AcceptedSubmission(s):145ProblemDescriptionYouaregivenatree(anacyclicundirectedconnectedgraph)
cq_phqg
·
2014-09-28 15:00
ACM
HDU
BZOJ 2819 Nim
树链剖分
异或有如下性质:x^y^z=x^(y^z),所以就可以进行
树链剖分
了。题目中还好心提醒有30%的点会使dfs爆栈。。第一次写不用dfs的
树链剖分
,扒的别人的代码,有些丑陋。
jiangyuze831
·
2014-09-28 08:00
树链剖分
Nim游戏
bzoj
BZOJ2819
【HDU】5052 Yaoge’s maximum profit
树链剖分
传送门:【HDU】5052Yaoge’smaximumprofit题目分析:别人用LCT过的。。Orz。。我是比赛的时候第一道看的就是这题。。然后觉得可做。。。然后就去做别的题了。。到最后才回来做这道题,可笑的是到最后竟然没有AC。。吃了晚饭以后发现漏考虑了情况,回来改了改。。不到一分钟时间,AC了。。。。。。现在说一下我的做法。还是老方法,假设这只是一个区间而不是一棵树,那我们怎么解决?考虑到是
u013368721
·
2014-09-27 21:00
HDU
【HDU】5044 Tree
树链剖分
这就是一个很裸的
树链剖分
。。然后就可以用线段树维护。但是!这样对于本题是一定会超时的!因为出题人特意想卡。。。于是我换成树状数组+输入优化卡过。。。但这题还有更好的方法!
u013368721
·
2014-09-27 20:00
HDU
HDU 5044 TREE
初始时,点和边的值都为0.分析:很显然要用
树链剖分
,将点和边分别划分成连续一段的编号,然后就是维护一段一段的值了,给它增加一个值,由于题目只需要输出最后结果,那么可以用树桩数组维护。
·
2014-09-27 18:00
tree
hdu 5052 Yaoge’s maximum profit(
树链剖分
)
思路:不会写lct的我只好去写
树链剖分
了。。。。这题比赛的时候都写傻了,非常艰辛的调过去了,以前觉得这种题比赛的时候肯定是写不出来的,最近两场网赛都有,
qian99
·
2014-09-27 18:00
数据结构
HDU 5029 Relief grain
题意:一棵树 m次染色 每次染色一条路径 颜色不会覆盖会积累 问每个点覆盖次数最多的颜色是什么思路:树上路径操作不是
树链剖分
就是LCT 对于每次染色 相当于让那种颜色的权值+1一般的熟练剖分都是将树剖成线段然后放在线段树上
u013351160
·
2014-09-27 10:00
数据结构
HDU
CF191C
树链剖分
点击打开链接给出K个路径,统计经过每条边的次数。边的标记与下面的u一致constintmaxn=100008; intn; intsiz[maxn],top[maxn],son[maxn]; intdep[maxn],tid[maxn],fa[maxn],rank[maxn]; inthead[maxn],to[maxn*2],next[maxn*2],edge; inttim; voidin
u013491262
·
2014-09-26 14:00
FZU2082
树链剖分
对边操作
0ab,表示更新第a条路的过路费为b,1 a[] ,因为这条边是唯一的。constintmaxn=50008; intn; intsiz[maxn],top[maxn],son[maxn]; intdep[maxn],tid[maxn],fa[maxn],rank[maxn]; inthead[maxn],to[maxn*2],next[maxn*2],edge; inttim; void
u013491262
·
2014-09-26 13:00
HDU5029
树链剖分
2个经典的模型放在一块就成为一道难题。constintmaxn=100018; intn; intsiz[maxn],top[maxn],son[maxn]; intdep[maxn],tid[maxn],fa[maxn],rank[maxn]; inthead[maxn],to[maxn*2],next[maxn*2],edge; inttim; voidinit(){ memset(hea
u013491262
·
2014-09-26 10:00
【FZU】2082 过路费
树链剖分
模板题
传送门:【FZU】2082过路费传送门:裸的
树链剖分
。
u013368721
·
2014-09-26 08:00
FZU
hdu 3966
树链剖分
模版
#pragmacomment(linker,"/STACK:1024000000,1024000000") usingnamespacestd; typedeflonglongLL; constintmaxn=50008; intn; intsiz[maxn],top[maxn],son[maxn]; intdep[maxn],tid[maxn],rank[maxn],fa[maxn]
u013491262
·
2014-09-25 15:00
POJ-3237-Tree
学了
树链剖分
做的第二道练习题,这个题比较麻烦的是取反那,也就是每次乘以-1,同样的转成线段树进行维护,我在有个地方应该更新son[u],的时候直接+1了,导致WA了超多。
z309241990
·
2014-09-23 21:00
树链剖分
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
上一页
29
30
31
32
33
34
35
36
下一页
按字母分类:
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
其他