随笔分类 - 数据结构——树链剖分
摘要:Description 给定一棵树和若干次操作,树上节点的权值一开始都是0,要求完成如下操作: 令x,y两点间路径上点的点权都乘上一个数 令x,y两点间路径上点的点权都加上一个数 令x,y两点间路径上点的点权都按位取反(~) 查询两点间路径上点的点权之和 所有答案均对$2^{64}$取模 Solut
阅读全文
摘要:Description 给定一棵树和若干操作,每次可以选取树上任意两点之间的路径染成一种颜色,或是查询任意两点之间路径上有多少段颜色。 Solution 树链剖分不解释,主要分析线段树的维护,在线段树区间上我们维护区间左端的颜色、右端的颜色、整个区间颜色段的数量。那么当我们合并两个区间时,我们首先将
阅读全文
摘要:这道题洛谷给的标签是LCA,线段树,树链剖分。 当然LCA+树上差分能通过这道题,但出现在树链剖分当中,我决定用树链剖分解决 显然这是一道裸的树链剖分。树剖之后进行区间修改,单点查询操作。(这道题线段树都不用build……23333) 我们按照题目给的顺序给这一棵"树"放上糖果,当然注意重复的部分要
阅读全文
摘要:NOI2015的试题,一道树链剖分的模板题主要过程:树剖完成后对线段树进行区间修改,区间查询。代码较长,很考验代码能力 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 typedef long long ll; 5 i
阅读全文
摘要:这是一道树链剖分的模板题,首先要学会线段树、dfs、链式前向星之类的,不然……//打暴力吧 本题很考验代码能力,难度不大,主要是细节繁多。(我调了1h) 树链剖分的原理不再赘述(详见《信息学奥赛一本通·提高版》),主要说一下一些容易错的细节。 ps:本人树链剖分的写法来源于《信息学奥赛一本通·提高版
阅读全文
摘要:一道普通的树链剖分模板题,注意细节即可 几个易错点总结:
阅读全文