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____树链剖分
HDU 3966 Aragorn's Story(
树链剖分
+线段树)
Description给一棵树,并给定各个点权的值,然后有3种操作IC1C2K:把C1与C2的路径上的所有点权值加上KDC1C2K:把C1与C2的路径上的所有点权值减去KQC:查询节点编号为C的权值Input第一行为三个整数n,m和q分别表示点数,边数以及操作数,第二行n个整数表示n个节点的权值,之后m行每行两个整数a和b表示a和b之间有一条无向边,最后q行每行一种操作Output对于每次查询,输
V5ZSQ
·
2015-12-06 13:00
FZU 2082 过路费(
树链剖分
+BIT)
Description有n座城市,由n-1条路相连通,使得任意两座城市之间可达。每条路有过路费,要交过路费才能通过。每条路的过路费经常会更新,现问你,当前情况下,从城市a到城市b最少要花多少过路费。Input有多组样例,每组样例第一行输入两个正整数n,m(2 #include #include #include usingnamespacestd; #definemaxn55555 structE
V5ZSQ
·
2015-12-06 12:00
LightOJ 1348 Aladdin and the Return Journey(
树链剖分
+线段树)
Description一棵树,有n个点,每个点都有一个权值,有两种操作0ab,问从节点a到节点b路径上所有点权值和1ab,把节点a权值改为bInput第一行一个整数T表示用例组数,每组用例第一行为一个整数n表示树节点个数,第二行n个整数表示n个节点的权值1,之后n-1行每行两个整数a和b表示a和b有一条无向边,然后是一个整数m表示操作数,最后m行每行三个整数opuv,op=0表示查询节点a到节点b
V5ZSQ
·
2015-12-06 12:00
BZOJ 1036 树的统计Count(
树链剖分
+线段树)
Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身Input输入的第一行为一个整数n,表示节点的个数。接下来n
V5ZSQ
·
2015-12-06 12:00
BZOJ 2243 染色(
树链剖分
+线段树)
Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包含n个正整数表示n个节点的初始颜色下面行每行包含
V5ZSQ
·
2015-12-06 10:00
NOIP 2015 BZOJ 4326 运输计划 (
树链剖分
+二分)
Description 公元2044年,人类进入了宇宙纪元。 L国有n个星球,还有n−1条双向航道,每条航道建立在两个星球之间,这n−1条航道连通了L国的所有星球。 小P掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从ui号星球沿最快的宇航路径飞行到vi号星球去。显然,飞船驶过一条航道是需要时间的,对于航道j,任意飞船驶过它所花费的时间为tj,并且任意
wkingG
·
2015-12-05 11:00
【
树链剖分
】bzoj2819 nim
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2819题目大意:有一棵树,每个节点上有一堆石子,有两种操作:1.改变某个节点的nim值2.问在u到v的路径上玩nim游戏是否有先手必胜策略直接链剖即可,懂点博弈论的都知道:nim游戏中异或和为0的无先手必胜策略,否则均有先手必胜策略这里注意几点:1.由于点的数目巨大所以请直接上lowbit或
FAreStorm
·
2015-12-04 20:53
题解
树链剖分
+线段树 poj2763 Housewife Wind
思路:
树链剖分
+线段树合并。这道题目主要就是难在用
树链剖分
上套线段树合并后,因为整条链被分成了很多条短的,把这些短的也要按照顺序合并。
qwb492859377
·
2015-12-03 14:00
树链剖分
+线段树 poj3237 Tree
传送门:点击打开链接题意:3种操作,1单点更新,2路径正负反转,3路径查询最大值思路:线段树维护最大值和最小值和一个懒惰标记,然后在线段树的基础上用
树链剖分
维护#include #include #include
qwb492859377
·
2015-12-02 23:00
树链剖分
+线段树 hdu3966 Aragorn's Story
传送门:点击打开链接题意:路径更新,单点查询思路:线段树+
树链剖分
,这里其实不需要懒惰标记也是可以做的#include #include #include #include #include #include
qwb492859377
·
2015-12-02 23:00
树链剖分
+线段树 bzoj1036 树的统计Count
思路:
树链剖分
,要注意单点更新和边更新的区别。然后就是在建线段树的时候,应该是用重新编号的新编号去建立的,刚开始一直没注意这个地方,然后调bug也调不出来,后来看了好久才看出来,以后还真要注意一下。
qwb492859377
·
2015-12-02 19:00
树链剖分
+线段树 spoj375 Query on a tree
传送门:点击打开链接题意:边更新,路径查询边权最大值思路:第一道
树链剖分
题,其实
树链剖分
就相当于把树的边给分类了一样,分成了重边和轻边。
qwb492859377
·
2015-12-02 16:00
【高级数据结构】[SPOJ QTREE]
树链剖分
/动态树各一模板
题目:
树链剖分
:#include #include #include usingnamespacestd; #defineMAXN10024 #defineMAXLOG14 #defineINF0x7fffffff
outer_form
·
2015-12-01 13:00
数据结构
C++
【
树链剖分
+线段树】[noi2015]软件包管理器
题目先
树链剖分
,再根据dfn建立线段树(在同一根树链中的点dfn是连续的),然后,就很好做了。
outer_form
·
2015-11-28 23:00
C++
线段树
树链剖分
NOI
bzoj 4012 [HNOI2015]开店 【
树链剖分
】
这道题好像各位神犇都是用动态树分治写的,我这么弱只能用树剖水一水了。dis(x,y)=dis(1,x)+dis(1,y)-dis(1,lca(x,y))前两个都是定值,求第三项就行了。每个点x维护不在重链上的子节点的个数*dis(1,x),查询显然,再yy一些别的东西就可以了。#include #include #include #include #include #define
heheda_is_an_OIer
·
2015-11-28 22:00
线段树
树链剖分
[
树链剖分
] CF593D. Happy Tree Party
题目链接:D.HappyTreeParty
树链剖分
是从下面两篇博客学的。
kg20006
·
2015-11-28 17:00
数据结构
ACM
codeforces
树链剖分
树链剖分
笔记
树链剖分
是维护树上路径的一种有力工具。支持以下操作:修改:单点改权,单边改权,从u到v的简单路径上的点或边改权等等修改权值的方式可以是加/减/乘/除一个值。
Quack_quack
·
2015-11-23 23:00
数据结构
树
图论
树链剖分
BZOJ1036: [ZJOI2008]树的统计Count (
树链剖分
)
传送门这是一道
树链剖分
的基础题目,只需要用线段树来维护重链上的节点信息,轻链一条一条爬就行了,在查询的时候可以先求出LCA然后查询两个点到LCA的信息然后合并就行了。
geng4512
·
2015-11-22 16:00
Codeforces Gym 100814C Connecting Graph (并查集,
树链剖分
)
题目大意:就是现在初始的时候有一个只有n个点的图(n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamesp
u013738743
·
2015-11-21 20:00
并查集
codeforces
树链剖分
Gym
100814C
heheda练数据结构
最近看了以下知识点:线段树套线段树线段树套平衡树准备学习:替罪羊树块状链表复习:
树链剖分
树状数组套线段树一些高级的线段树可持久化tire可并堆bzoj2957楼房重建给定第一象限的n个楼房,询问从原点能看到多少个楼房
heheda_is_an_OIer
·
2015-11-20 22:00
数据结构
HYSBZ 1036 树的统计Count
树链剖分
看了半个星期,感觉自己可以上题了轻重链划分倒是一下就看懂了,两遍dfs的剖分应该都卡不住(刚开始以为是子树中最深的那个为重链的我也是图样)(其实是子树结点更多的那个)但是卡在了树上的查询上,怎么也理解不了怎么做到不重不漏
a1s4z5
·
2015-11-19 15:00
SPOJ 375
树链剖分
模板#include #include #include #include #include usingnamespacestd; #definelson(posg[maxn]; structedge { intto,next; }e[maxn]; inlinevoidadd_edge(inta,intb,intc) { g[a].push_back(Vector_edge(b,c)); }
baidu_23081367
·
2015-11-17 01:00
【
树链剖分
】[ZJOI2008]树的统计Count
题目
树链剖分
,再存代码。
outer_form
·
2015-11-15 22:00
C++
图论
【
树链剖分
】[SPOJ-QTREE]Query on a tree
题目模板题,存代码。#include #include #include usingnamespacestd; #defineMAXN10024 #defineMAXLOG14 #defineINF0x7fffffff intn,T,size[MAXN+10],dep[MAXN+10],fa[MAXN+10][MAXLOG+1],wt[MAXN+10]={0,-INF},bl[MAXN+10],l
outer_form
·
2015-11-15 20:00
C++
图论
bzoj 2243
树链剖分
id=2243
树链剖分
,用线段树记录该区间的颜色段数,左右端点颜色数,然后就OK了 1 //By BLADEVIL 2 type 3 rec
·
2015-11-13 21:48
ZOJ
bzoj 3083
树链剖分
首先我们先将树提出一个根变成有根树,那么我们可以通过
树链剖分
来实现对于子树的最小值求解,那么按照当前的根和询问的点的相对位置关系我们可以将询问变成某个子树和或者除去某颗子树之后其余的和,前者直接询问区间
·
2015-11-13 20:04
ZOJ
动态树之LCT(link-cut tree)讲解
LCT的大体思想类似于
树链剖分
中的轻重链剖分(轻重链剖分请移步http://www.cnblogs.com/BLADEVIL/p/3479713.html),
·
2015-11-13 20:52
tree
树链剖分
之点剖分(点分治)讲解
当一个问题可以分解成小问题时,我们一般可以采用分治算法,比如最简单的快速排序,就是分治算法的一个典型的应用。 那么处理树的问题时,假设求解满足条件的点对儿个数,对于一个树来说,两个点对儿的存在只能有两种情况,就是点对之间的路径过根和不过根,那么对于不过根的情况递归做,对于一棵树只考虑过根的情况,计算就行了。 以一个基础题为例子bzoj 2152 http://61.187.1
·
2015-11-13 20:50
树
树链剖分
之轻重链讲解
首先我们有一颗树每个点(或者边)有权值,我们要做的就是询问两个点之间路径上各点(边)权值的最大、最小,权值和(就是线段树能干的),然后我们还要支持在线更改任意节点(边)的权值。 我们要做的是轻重链剖分,首先我们看几个定义 size:和SBT里的一样,size[i]为以该点为根节点的子树一共有几个节点。 重儿子:一个节点当不为叶子节点的时候有且只有一个重儿子,重儿子为该点的儿子
·
2015-11-13 20:48
树
FZU 2082 过路费(
树链剖分
)
FZU 2082 过路费 题目链接 树链抛分改动边的模板题 代码: #include <cstdio> #include <cstring> #include <vector> using namespace std; typedef long long ll; const int N = 50005; int dep[N], id[N]
·
2015-11-13 18:34
树
uva 11354 - Bond(树链拆分)
解题思路:首先建立最小生成数,然后依据这棵树做
树链剖分
。
·
2015-11-13 17:10
uva
SPOJ 2798 Query on a tree again
树链剖分
这题真是神题! 当然我不是说这题有多神,而是你数组开小了和开大了得分不同,用不同版本的编译器得分不同。。。(数组没有越界的情况下) 呜呜。。。至今没有ac。一直83分。。。抑郁了。。。 跪求神犇指明错误。。。 View Code 1 #include <iostream> 2 #include <cstring> 3 #in
·
2015-11-13 15:07
query
BZOJ 1036 [ZJOI2008]树的统计Count
以前动态树写过这个题,今天尝试
树链剖分
解决~ 模板题,就声明一点,线段树维护的是点权 View Code 1 #include <iostream>
·
2015-11-13 15:06
count
SPOJ 913 Query on a tree II
树链剖分
对于询问dist,
树链剖分
搞之,把边权转化到点上,然后注意细节就好(我在代码里标出来了,为了这个细节,wa了一屏) 对于询问kth,可以先求出两点(x和y)的lca,然后判断第k个数字是在x到lca的路径上还是
·
2015-11-13 15:06
query
SPOJ 375 query on a tree
树链剖分
题意: 给一棵树型数据结构 ①支持修改边的权值 ②支持成段边权最值查询
树链剖分
入门题、
树链剖分
+线段树 用的notonlysuccess
·
2015-11-13 14:37
query
【BZOJ】3319: 黑白树(并查集+特殊的技巧/-
树链剖分
+线段树)
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 以为是模板题就复习了下hld。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 然后nlg^2n被tle成翔了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 然后看题解QAQ,,,这。。。 神题做法。。。待会再写。。。(upd:【BZOJ】3319: 黑白树)
·
2015-11-13 11:29
并查集
【BZOJ】1146: [CTSC2008]网络管理Network(
树链剖分
+线段树套平衡树+二分 / dfs序+树状数组+主席树)
http://www.lydsy.com/JudgeOnline/problem.php?id=1146 第一种做法(时间太感人): 第二种做法(rank5,好开心) ================================8-20=============================== 这题我真的逗了,调了一下午,疯狂造数据,始终找不到错。 后来发现自己s
·
2015-11-13 11:58
NetWork
Query on a tree(
树链剖分
)
http://www.spoj.com/problems/QTREE/ 这是按边分类的。 调试调到吐,对拍都查不出来,后来改了下造数据的,拍出来了。囧啊啊啊啊啊啊 时间都花在调试上了,打hld只用了半小时啊囧。 第一次打边分类真没注意一个地方。 就是当fx==fy后,没有判断x==y,然后这是边分类,获得的是父亲的下标,果断错。。 囧,一定要记住这个错误。 #include <
·
2015-11-13 11:57
query
【BZOJ】1036: [ZJOI2008]树的统计Count(lct/
树链剖分
)
http://www.lydsy.com/JudgeOnline/problem.php?id=1036 lct: (ps:为嘛我的那么慢T_T,不知道排到哪了。。难道别人都是树剖吗。。。看来有必要学 orz 裸的lct,这里只说一下找路径就行了。,。算了,上晚修去了,待会回来更 lca大家应该都会求,就是2次access就行了(很容易理解的) 然后我们求路径的时候,用lca的
·
2015-11-13 11:56
count
SPOJ375(
树链剖分
)
题目:Query on a tree 题意:给定一棵树,告诉了每条边的权值,然后给出两种操作: (1)把第i条边的权值改为val (2)询问a,b路径上权值最大的边 分析:本题与HDU3966差不多,区别就是:HDU3966是告诉树中点权的值,这里是边权。 所以我们可以转化,用边的孩子节点来表示该边。 #include <iostream>
·
2015-11-13 10:42
poj
动态树之(雾)
树链剖分
这货是不是动态树里的我就不清楚了,fhq的blog好像有提到orz 一些不需要link-cut操作的树上路径的题可以用
树链剖分
做,常数比lct小多了。 //upd:所以这已经不是动态树了囧。。。。。
·
2015-11-13 10:35
动态
HYSBZ 2243(
树链剖分
)
题意:给定一棵有n个节点的无根树及点权和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段); 分析:
树链剖分
将信息映射到线段树后
·
2015-11-13 07:20
树
hdu3804(
树链剖分
)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3804 题意:给定一棵n个结点的树及边权,回答m个询问(x,y)满足以下条件的边权: 1)该边在结点1~x的路径上。 2)在1~x的路径上小于等于y的最大边权。 分析:离线处理,将边权和询问的y值按从小到大排序,然后逐序将边权插入线段树中,每次查询当前条件下路径上的最大值(线段树
·
2015-11-13 07:20
HDU
poj3237(
树链剖分
)
分析:
树链剖分
,线段树维护好区间的最大最小值,方便取反操作更新。。。
·
2015-11-13 07:19
poj
HYSBZ 1036(
树链剖分
)
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28982#problem/E 题意:给定一棵树及树上的点权,要求三种操作: 1)CHANGE u t : 把结点u的权值改为t。 2)QMAX u v: 询问从点u到点v的路径上的节点的最大权值。 3)QSUM u v: 询问从点u到点v的路径上的节点的权
·
2015-11-13 07:18
树
poj2763(
树链剖分
)
分析:
树链剖分
,边权修改,路径求和,将树上信息映射到线段树上则是单点修改,区间求和。。。
·
2015-11-13 07:17
poj
SPOJ 375(
树链剖分
)
树链剖分
裸题,入门资料:http://blog.sina.com.cn/s/blog
·
2015-11-13 07:16
poj
hdu3966(
树链剖分
)
分析:
树链剖分
裸题,在树上修改点权及询问点权,将树上信息映射到线段上后,就是一道水线段树
·
2015-11-13 07:16
HDU
树链剖分
我们需要用到一种貌似高级的复杂算法——
树链剖分
。 树链,就是树上的路径。剖分,就是把路径分类为重链和轻链
·
2015-11-13 05:07
转载
树链剖分
什么是
树链剖分
树链剖分
并不是一个复杂的算法或者数据结构,它能把一棵树拆成链。 树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。
·
2015-11-13 03:12
树
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他