随笔分类 -  树 树链剖分

摘要:Problem This world need more Zhu 题目大意 给一颗n个点的有点权的树,有m个询问,对于每个询问u,v,k,首先将点u到点v的最短路径上的所有点按顺序编号,u的编号为1,求树链上所有点的新编号cnt满足cnt%k==0的点的权值的最大值。 n,m,k<=10^5 解题分 阅读全文
posted @ 2016-09-09 13:58 rpSebastian 阅读(967) 评论(0) 推荐(0)
摘要:Problem Toll Management IV 题目大意 给一张n个点m条边的无向图,有边权。数据保证前n-1条边构成了一棵最小生成树。 要求对于每条边求出其边权上下最多浮动范围,使得最小生成树的形态不变(每次只改变一条边的权值)。 n<=10000,m<=1000000 解题分析 我们称在最 阅读全文
posted @ 2016-08-22 00:23 rpSebastian 阅读(391) 评论(0) 推荐(0)
摘要:Problem 旅行 (BZOJ 3531) 题目大意 给定一颗树,树上的每个点有两个权值(x,y)。 要求维护4种操作: 操作1:更改某个点的权值x。 操作2:更改某个点的权值y。 操作3:求a-->b路径上所有x属性与a,b相同的点y属性的和。 操作4:求a-->b路径上所有x属性与a,b相同的 阅读全文
posted @ 2016-08-04 23:40 rpSebastian 阅读(386) 评论(0) 推荐(0)
摘要:Problem 染色(BZOJ2243) 题目大意 给定一颗树,每个节点上有一种颜色。 要求支持两种操作: 操作1:将a->b上所有点染成一种颜色。 操作2:询问a->b上的颜色段数量。 解题分析 树链剖分+线段树。 开一个记录类型,记录某一段区间的信息。l 表示区间最左侧的颜色 , r 表示区间最 阅读全文
posted @ 2016-08-03 00:11 rpSebastian 阅读(275) 评论(0) 推荐(0)
摘要:Problem Tree (POJ3237) 题目大意 给定一颗树,有边权。 要求支持三种操作: 操作一:更改某条边的权值。 操作二:将某条路径上的边权取反。 操作三:询问某条路径上的最大权值。 解题分析 树链剖分+线段树。练手题。 参考程序 1 #include <cstdio> 2 #inclu 阅读全文
posted @ 2016-08-02 21:58 rpSebastian 阅读(232) 评论(0) 推荐(0)
摘要:Problem T2 (bzoj4034 HAOI2015) 题目大意 给定一颗树,1为根节点,要求支持三种操作。 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 解题分析 阅读全文
posted @ 2016-08-01 23:04 rpSebastian 阅读(202) 评论(0) 推荐(0)
摘要:Problem Little Devil I (HDU4897) 题目大意 给定一棵树,每条边的颜色为黑或白,起始时均为白。 支持3种操作: 操作1:将a->b的路径中的所有边的颜色翻转。 操作2:将所有 有且仅有一个点在a->b的路径中 的边的颜色翻转。 操作3:询问a->b的路径中的黑色边数量。 阅读全文
posted @ 2016-07-31 17:05 rpSebastian 阅读(602) 评论(0) 推荐(0)
摘要:Problem Aragorn's Story (HDU 3966) 题目大意 给定一颗树,有点权。 要求支持两种操作,将一条路径上的所有点权值增加或减少ai,询问某点的权值。 解题分析 树链剖分模板题。 实质上树链剖分进行了点对点的一次映射,保证了重链上的点在线段树上的位置是连续的。 树链剖分的两 阅读全文
posted @ 2016-07-31 02:22 rpSebastian 阅读(1261) 评论(0) 推荐(0)