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-树链剖分
树上倍增的写法和应用(详细讲解,新手秒懂)
我以前一直打
树链剖分
打得多,但是学了倍增之后就再也不想打
树链剖分
了(当然有些题目不得不打)。倍增比起
树链剖分
,代码短,容易查错,时空复杂度也优很多(nlogn),只是功能有些欠缺。倍增的思想是二进制。
Saramanda
·
2017-02-10 10:20
算法
|题目分类|BZOJ、Poj、Hdu题目分类
BZOJ:[线段树]BZOJ1012:裸线段树单点修改+区间求最大值[
树链剖分
,线段树]BZOJ1036:
树链剖分
后线段树维护(
树链剖分
模板)[树状数组]BZOJ1452:开多个树状数组解决问题[数论]
NotFound1
·
2017-02-07 15:58
算法讨论
bzoj 3924: [Zjoi2015]幻想乡战略游戏 (
树链剖分
)
3924:[Zjoi2015]幻想乡战略游戏TimeLimit:100SecMemoryLimit:256MBSubmit:709Solved:324[Submit][Status][Discuss]Description傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更
clover_hxy
·
2017-02-04 22:34
树链剖分
[BZOJ3626][LNOI2014]LCA
树链剖分
太神啦!http://blog.csdn.net/popoqqq/article/details/38823457/**************************************************************Problem:3626User:di4CoveRyLanguage:C++Result:AcceptedTime:3264msMemory:16944kb**
HbFS-
·
2017-02-03 16:38
树链剖分
树链剖分
我们需要用到一种貌似高级的复杂算法——
树链剖分
。树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。
Hans_hans
·
2017-01-23 20:11
日常刷题
[SDOI2011染色]
树链剖分
树链剖分
:维护一下颜色段数,左端颜色,右端颜色,注意询问的时候要push_down(),还有合并时要注意判断,而不是简单的直接相加。
Frods
·
2017-01-18 19:54
省选
数据结构
线段树
树链剖分
bzoj 4034: [HAOI2015]树上操作 (
树链剖分
)
4034:[HAOI2015]树上操作TimeLimit:10SecMemoryLimit:256MBSubmit:3553Solved:1118[Submit][Status][Discuss]Description有一棵点数为N的树,以点1为根,且树点有边权。然后有M个操作,分为三种:操作1:把某个节点x的点权增加a。操作2:把某个节点x为根的子树中所有点的点权都增加a。操作3:询问某个节点x
clover_hxy
·
2016-12-30 10:01
树链剖分
bzoj 3694: 最短路(
树链剖分
+线段树)
3694:最短路TimeLimit:5SecMemoryLimit:256MBSubmit:135Solved:66[Submit][Status][Discuss]Description给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1。定义最短路树如下:从源点1经过边集T到任意一点i有且仅有一条路径,且这条路径是整个图1到i的最短路径,边集T构成最短路树。给出最短路树,求对于除了
clover_hxy
·
2016-12-25 22:31
线段树
树链剖分
[UVALive]7338
树链剖分
+线段树
对最小生成树进行
树链剖分
,按
树链剖分
序建线段树对于第n~m条边E{a,b,v},将a,b路径上的最长边求出来e{a0,b0,v0},v-v0即为该边能减小最多的值,增加最多的值为INF对于前1~n-1条边
HbFS-
·
2016-12-07 19:01
树链剖分
线段树
中等难度练习题1
[CF600E]Lomsat gelral
数据范围1≤ci≤n≤105思路
树链剖分
。启发式合并,轻链向重链合并。每个节点最多合并logn次。维护每种特征的个数,个数的特征值的和。
QAQ__QAQ
·
2016-12-05 20:00
codeforces
NOIP2013D1T3 货车运输 题解
(题目描述略)算法思路:先求原图最大生成树,再用
树链剖分
,套ST表求RMQ即可。求最大生成树可用Kruskal算法,用带路径压缩的并查集维护。
Foliciatarier
·
2016-11-16 00:42
题解
HDU 3966 [
树链剖分
]
Aragorn’sStory问题描述OurprotagonististhehandsomehumanprinceAragorncomesfromTheLordoftheRings.OnedayAragornfindsalotofenemieswhowanttoinvadehiskingdom.AsAragornknows,theenemyhasNcampsoutofhiskingdomandMed
Baroth
·
2016-11-12 01:17
树链剖分
线段树
[hdu 5963 朋友] 博弈SG函数+
树链剖分
[hdu5963朋友]博弈SG函数+
树链剖分
1.题目链接[hdu5963朋友]2.题意描述中文题目,直接copy题面了。
Xingw-Xiong
·
2016-11-08 00:24
ACM____博
弈
ACM____树链剖分
【置顶】博文精选
ACdreamers:http://blog.csdn.net/acdreamers算法与数据结构夜深人静写算法(四)-差分约束数据结构之AVL树线段树详解(原理,实现与应用)hdu1542线段树+离散化+扫描线详解
树链剖分
树
programmy
·
2016-11-05 22:46
其他
精
[BZOJ2157] 旅游 边权
树链剖分
对于边权,我们将其赋值到树边的子节点上就好查询,修改时,只需要在两点都在一条重链时,序号小的点+1即可(x,y,min,max写混WA了一发,气,另外需要改一改线段树的写法了,又臭又长)/**************************************************************Problem:2157User:cabinfeverLanguage:C++Resul
Cabinfever
·
2016-11-03 21:17
bzoj
数据结构——树链剖分
[BZOJ4034][HAOI2015]T2
树链剖分
+dfs序
常规题,比较特殊的操作是修改以x为根的子树的所有节点我们知道,这颗子树的dfs序一定是连续的,所以我们只需要对每个节点记录一下,最大的dfs序即可因为树剖要dfs,所以我们直接在第二次dfs时记录,但需要注意的是,因为我们最先对重链的节点编号,所以dfs时也必须先dfs重链我采取的办法是直接加边,因为边表保证了最后加的边最先扩展,或者也可以直接记录一下重边连的点(因为longlongWA了一次,树
Cabinfever
·
2016-11-02 22:00
bzoj
数据结构——树链剖分
bzoj 4515: [Sdoi2016]游戏(
树链剖分
+线段树)
4515:[Sdoi2016]游戏TimeLimit:40SecMemoryLimit:256MBSubmit:417Solved:185[Submit][Status][Discuss]DescriptionAlice和Bob在玩一个游戏。游戏在一棵有n个点的树上进行。最初,每个点上都只有一个数字,那个数字是123456789123456789。有时,Alice会选择一条从s到t的路径,在这条路
clover_hxy
·
2016-10-18 19:32
线段树
树链剖分
bzoj 4326: NOIP2015 运输计划 (二分答案+
树链剖分
+树状数组)
4326:NOIP2015运输计划TimeLimit:30SecMemoryLimit:128MBSubmit:783Solved:514[Submit][Status][Discuss]Description公元2044年,人类进入了宇宙纪元。L国有n个星球,还有n−1条双向航道,每条航道建立在两个星球之间,这n−1条航道连通了L国的所有星球。小P掌管一家物流公司,该公司有很多个运输计划,每个运
clover_hxy
·
2016-10-17 22:08
bzoj 1103: [POI2007]大都市meg(
树链剖分
)
1103:[POI2007]大都市megTimeLimit:10SecMemoryLimit:162MBSubmit:2111Solved:1104[Submit][Status][Discuss]Description在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员BlueMary也开始骑着摩托车传递邮件了。不过,她经常回忆起以前在乡间漫步的情景。昔日,乡下有依次编号为1..n的n个
clover_hxy
·
2016-10-13 19:02
树链剖分
[BZOJ1969][Ahoi2005]LANE 航线规划(
树链剖分
)
======这里放传送门======题解这题猛一看跟线段树啊
树链剖分
什么的一点儿关系也没有啊好吧?一开始还以为它是那种像某个叫做【堵塞的交通】的题目那样是个线段树维护连通性啊啥的鬼畜玩意儿叻。。。
FromATP
·
2016-10-04 11:49
BZOJ
不知道加什么形容词的树链剖分
bzoj 3999: [TJOI2015]旅游(
树链剖分
)
3999:[TJOI2015]旅游TimeLimit:10SecMemoryLimit:256MBSubmit:423Solved:214[Submit][Status][Discuss]Description为了提高智商,ZJY准备去往一个新世界去旅游。这个世界的城市布局像一棵树。每两座城市之间只有一条路径可以互达。每座城市都有一种宝石,有一定的价格。ZJY为了赚取最高利益,她会选择从A城市买入
clover_hxy
·
2016-10-01 22:42
线段树
树链剖分
[BZOJ4530][Bjoi2014]大融合(
树链剖分
+并查集)
题目描述传送门题解显然一条边的负载等于将这条边断开后形成的两个子树的节点数的乘积。在计算一条边的负载的时候,可以将所有与之连通的点看成一棵树。只需要计算出一个端点的size大小就可以用size*(n-size)计算出答案。由于这棵树的形态是已经确定的,可以先将这棵树建出来。每一次添加一条边肯定是在一对父子之间。那么将这条边连通无非是将父亲以及它能到的最远的祖先之间的点的size都加上儿子的size
Clove_unique
·
2016-09-25 08:12
题解
并查集
省选
树链剖分
[BZOJ4530][Bjoi2014]大融合(
树链剖分
+并查集)
题目描述传送门题解显然一条边的负载等于将这条边断开后形成的两个子树的节点数的乘积。在计算一条边的负载的时候,可以将所有与之连通的点看成一棵树。只需要计算出一个端点的size大小就可以用size*(n-size)计算出答案。由于这棵树的形态是已经确定的,可以先将这棵树建出来。每一次添加一条边肯定是在一对父子之间。那么将这条边连通无非是将父亲以及它能到的最远的祖先之间的点的size都加上儿子的size
Clove_unique
·
2016-09-25 08:12
题解
并查集
省选
树链剖分
bzoj 4530: [Bjoi2014]大融合 (并查集+
树链剖分
+线段树)
4530:[Bjoi2014]大融合TimeLimit:10SecMemoryLimit:256MBSubmit:140Solved:83[Submit][Status][Discuss]Description小强要在N个孤立的星球上建立起一套通信系统。这套通信系统就是连接N个点的一个树。这个树的边是一条一条添加上去的。在某个时刻,一条边的负载就是它所在的当前能够联通的树上路过它的简单路径的数量。
clover_hxy
·
2016-09-24 14:50
并查集
线段树
树链剖分
[BZOJ1969][Ahoi2005]LANE 航线规划(
树链剖分
+并查集)
值得注意的是
树链剖分
维护边权将边权下放成点权。这样的话当两个点到达一条重链的时候应
Clove_unique
·
2016-09-24 11:33
题解
并查集
树链剖分
[BZOJ1969][Ahoi2005]LANE 航线规划(
树链剖分
+并查集)
值得注意的是
树链剖分
维护边权将边权下放成点权。这样的话当两个点到达一条重链的时候应
Clove_unique
·
2016-09-24 11:33
题解
并查集
树链剖分
bzoj 1969: [Ahoi2005]LANE 航线规划(
树链剖分
+线段树+最小生成树)
1969:[Ahoi2005]LANE航线规划TimeLimit:10SecMemoryLimit:64MBSubmit:293Solved:139[Submit][Status][Discuss]Description对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系。星际空间站的SamuelII巨
clover_hxy
·
2016-09-24 08:48
图论
线段树
树链剖分
[BZOJ3589]动态树(
树链剖分
+dfs序+lca)
题目描述传送门题解修改的操作直接做就可以了。查询的时候问题主要出在会有重复的路径。我的思路就是将重复的路径砍断,变成不重复的,然后最后依次查询就可以了。由于k比较小,O(k2)判断就是可以接受的。由于树枝全部是从某个节点到根的路径的一段,处理起来就比较方便了。处理两条树枝的方法是:设两条树枝(x1,y1)(x2,y2),且h[x1]h[r]或者h[x2]>h[r],则说明两条树枝不相交,可以不作任
Clove_unique
·
2016-09-24 07:45
题解
lca
树链剖分
dfs序
[BZOJ3589]动态树(
树链剖分
+dfs序+lca)
题目描述传送门题解修改的操作直接做就可以了。查询的时候问题主要出在会有重复的路径。我的思路就是将重复的路径砍断,变成不重复的,然后最后依次查询就可以了。由于k比较小,O(k2)判断就是可以接受的。由于树枝全部是从某个节点到根的路径的一段,处理起来就比较方便了。处理两条树枝的方法是:设两条树枝(x1,y1)(x2,y2),且h[x1]h[r]或者h[x2]>h[r],则说明两条树枝不相交,可以不作任
Clove_unique
·
2016-09-24 07:45
题解
lca
树链剖分
dfs序
bzoj 3589: 动态树 (
树链剖分
+线段树)
3589:动态树TimeLimit:30SecMemoryLimit:1024MBSubmit:451Solved:155[Submit][Status][Discuss]Description别忘了这是一棵动态树,每时每刻都是动态的.小明要求你在这棵树上维护两种事件事件0:这棵树长出了一些果子,即某个子树中的每个节点都会长出K个果子.事件1:小明希望你求出几条树枝上的果子数.一条树枝其实就是一个
clover_hxy
·
2016-09-23 21:33
线段树
树链剖分
[BZOJ4390][Usaco2015 dec]Max Flow(树上差分+lca)
题目描述传送门题解某人用链剖水掉了,不过还有另外的思路时间完爆
树链剖分
。
Clove_unique
·
2016-08-25 17:11
题解
lca
差分
[BZOJ4390][Usaco2015 dec]Max Flow(树上差分+lca)
题目描述传送门题解某人用链剖水掉了,不过还有另外的思路时间完爆
树链剖分
。
Clove_unique
·
2016-08-25 17:11
题解
lca
差分
ACM-
直方图最大面积-Largest Rectangle in Histogram
LargestRectangleinHistogram题目描述:Givennnon-negativeintegersrepresentingthehistogram’sbarheightwherethewidthofeachbaris1,findtheareaoflargestrectangleinthehistogram.Aboveisahistogramwherewidthofeachbari
e01014165
·
2016-08-20 21:12
ACM
动态树-LCT-bzoj2002弹飞绵羊
其实动态树主题思想跟
树链剖分
差不多,非常频繁的使用了Splay。类似
树链剖分
的定义:PreferredChild:如果结
Frods
·
2016-08-18 19:57
动态树
【BZOJ 1036】树的统计Count(
树链剖分
)
【BZOJ1036】树的统计Count(
树链剖分
)1036:[ZJOI2008]树的统计CountTimeLimit:10SecMemoryLimit:162MBSubmit:12991Solved:5233Description
A_LeiQ
·
2016-08-13 11:57
ACM道路之数据结构
BZOJ 4196 软件包管理器(
树链剖分
子树)
树链剖分
同时记录子树区间对于install操作,直接爬上根结点,进行更新查询操作对于unstall操作,直接询问子树区间,更新子树区间#include#include#include#include#include
wJs9528-1
·
2016-08-03 20:25
===数据结构===
树链剖分
BZOJ 3531 (
树链剖分
,线段树动态开点)
首先读完题,仔细观察一下,如果按照常规写法,那么对于每一个宗教来说都应该储存当前宗教下所有城市的评价,即建立C棵线段树去维护宗教下的所有城市,但是这里如果直接开数组维护很明显会爆内存,观察到由于每个宗教来说并不是所有城市都为有效值,而只是部分城市,考虑到这一点,可以选择动态的在线段树上开结点去维护城市评价。对于动态开结点的操作,我是这么处理的,首先开一个大数组表示结点,前100000个表示宗教的头
wJs9528-1
·
2016-08-02 21:31
===数据结构===
树链剖分
BZOJ 4034 T2 (
树链剖分
解决子树问题)
树链剖分
有这样一个性质,即在剖完之后每个结点下面子树的编号一定是连续的,那么基于这一点,我们记录每个结点的区间就能解决子树更新问题dfs序也可以解决子树问题,但是这里需要计算一个贡献值,结点的层数不好处理
wJs9528-1
·
2016-08-01 08:44
===数据结构===
树链剖分
【个人整理】省选知识点汇总
*zkw费用流),二分图点分治,边分治,*动态点分治
树链剖分
,动态树,树分块虚树,*prufer编码*仙人掌算法数据结构带权并查集Splay(作为平衡树和维护区间),Treap,替罪羊树
DQSSS
·
2016-07-31 01:01
===其它===
个人
HDU 3966
树链剖分
点击打开链接题意:给一个树,三个操作,一个询问点的权值,一个将u到v路径上的点的权值增加,一个是减少思路:还是比较裸的模版题,线段树改为区间更新就好了#pragmacomment(linker,"/STACK:1024000000,1024000000") #include #include #include #include #include #include usingnamespacestd
Dan__ge
·
2016-07-10 16:00
数据结构
ACM
HDU
树链剖分
SPOJ 375
树链剖分
点击打开链接题意:给个树和树上的权值,两个操作,Quv,问u到v的边上的最大权值,Cuv,将第u条边的权值改为v思路:今天学了学
树链剖分
,这题是个检验模版的题目,理论我是解释不清楚的,自己在九野聚聚那学来的一份模版
Dan__ge
·
2016-07-08 20:00
数据结构
ACM
树链剖分
SPOJ 375
树链剖分
点击打开链接题意:给个树和树上的权值,两个操作,Quv,问u到v的边上的最大权值,Cuv,将第u条边的权值改为v思路:今天学了学
树链剖分
,这题是个检验模版的题目,理论我是解释不清楚的,自己在九野聚聚那学来的一份模版
Dan__ge
·
2016-07-08 20:00
数据结构
ACM
树链剖分
Link Cut Tree学习小记
与
树链剖分
的区别
树链剖分
只能维护静态树,就是只能对树上的点的值进行修改的算法,一般还是用线段树来维护的。所以LCT就厉害了,首先是维护方式不同,其次它是用splay来维护的。
Facico
·
2016-07-03 21:44
树
小记
splay
LCT
动态树
算法小记
Link Cut Tree学习小记
与
树链剖分
的区别
树链剖分
只能维护静态树,就是只能对树上的点的值进行修改的算法,一般还是用线段树来维护的。所以LCT就厉害了,首先是维护方式不同,其次它是用splay来维护的。
doyouseeman
·
2016-07-03 21:00
动态树
小记
LinkCutTre
LCT的操作
LCT学习
【SDOI2011】染色
Solution第一眼的水题这种树上的修改与询问,不是一眼的
树链剖分
吗!为了练习动态树,强制性打成了lct。维护方式
Facico
·
2016-07-02 19:27
树链剖分
省选
LCT
动态树
【SDOI2011】染色
Solution第一眼的水题这种树上的修改与询问,不是一眼的
树链剖分
吗!为了练习动态树,强制性打成了lct。维护方式
doyouseeman
·
2016-07-02 19:00
动态树
树链剖分
染色
LCT
SDOI
用动态树强弄树的统计
tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身Solution树的统计都是大家学习
树链剖分
时候的基础模板题
doyouseeman
·
2016-06-30 22:00
动态树
splay
LCT
树的统计
LinkCutTre
【JZOJ 4388】染色
DescriptionSolution咋一眼看过去,那么像动态点分治…大概想一下代码量,嗯…,不少…那么来想一下
树链剖分
怎么打,设一根节点的距离是c,与根的路径为s,点x,y之间的距离也就是cx+cy−
HOWARLI
·
2016-06-16 20:00
树链剖分
动态树分治
动态点分治
数据结构[刷水]
1.POJThemerchant给定一棵树,每个点有一个点权每次询问(u,v),求从u到v的路径上,a点权值-b点权值最大要求a点比b点更靠近(或者等于)v1≤N,wi,Q≤50000时限3秒题解:
树链剖分
zxn0803
·
2016-05-25 14:00
HDU 3804 Query on a tree
树链剖分
+ 线段树离线操作 好题
pid=3804题意:给定一棵树,有边权,首先输入一个n,然后n-1行abc,代表点a点b之间的边权为c,接着输入一个m,然后m行xc,查询点1到点x之间的路径上不大于c的边权最大是多少思路:首先
树链剖分
啊
霜刃未曾试
·
2016-05-23 22:56
树链剖分
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他