
数据结构——树链剖分
HARD_UNDERSTAND
Just try
展开
-
UVa 11354 Bond (MST 树链剖分 LCA/RMQ)
题目: 题意: 有n座城市通过m条双向道路相连,每条道路都有一个危险系数。你的任务是回答若干个询问,每个询问包含一个起点s和一个终点t,要求找到一条从s到t的路,使得途经所有边的最大危险系数最小。 输入最多包含5组数据。(2 <= n <= 50000 , 1 <= m <= 100000 )。询问有Q个(1 <= Q <= 50000 )。起点编号1~n。 分析: 就是求任意两点的原创 2016-10-10 21:55:00 · 349 阅读 · 0 评论 -
fzu 2082 过路费(树链剖分,单点更新+区间求和)
题目:http://vjudge.net/contest/28982#problem/G 题意: 有n座城市,由n-1条路相连通,使得任意两座城市之间可达。每条路有过路费,要交过路费才能通过。每条路的过路费经常会更新,现问你,当前情况下,从城市a到城市b最少要花多少过路费。 分析: 树链剖分,基于边的重编号 操作:单点更新,区间求和 用树状数组或者线段树维护操作 代码:#in原创 2016-10-08 16:01:23 · 429 阅读 · 0 评论 -
spoj 375 Query on a tree(树链剖分,边,线段树)
题目:http://vjudge.net/contest/28982#problem/I 题意: 给一棵树,进行两种操作: 1.把第i条边权值改为x 2.查询a到b路径上的最大边权 分析: 树链剖分入门题,基于边的重编号 操作:单点更新+区间查询最值 用线段树维护操作 一篇很好的树链剖分的入门文章:http://blog.sina.com.cn/s/blog_69原创 2016-10-08 12:41:33 · 301 阅读 · 0 评论 -
hdu 3966 (树链剖分,树状数组/线段树)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3966 题意: 给一棵树,并给定各个点权的值,然后有3种操作: I C1 C2 K: 把C1与C2的路径上的所有点权值加上K D C1 C2 K:把C1与C2的路径上的所有点权值减去K Q C:查询节点编号为C的权值 分析: 树链剖分入门题,基于点的重编号。 操作是区间增减原创 2016-10-08 11:58:33 · 491 阅读 · 0 评论