随笔分类 - 数据结构 -- 树链剖分
摘要:【洛谷5439】【XR 2】永恒(树链剖分,线段树) 题面 "洛谷" 题解 首先两个点的就是树上的的深度。 考虑一对点的贡献,如果这两个点不具有祖先关系,那么这对点被计算的次数是次。否则具有祖先关系,假设是祖先,则是$si
阅读全文
摘要:【BZOJ5507】[GXOI/GZOI2019]旧词(树链剖分,线段树) 题面 "BZOJ" "洛谷" 题解 如果就是链并裸题了。。。 其实发现还是可以用类似链并的思想,这个东西本质上就是对于当前的一个,考虑对于其他所有点的贡献,而他们的一定是到根节点链上
阅读全文
摘要:【CF487E】Tourists(圆方树) 题面 "UOJ" 题解 首先我们不考虑修改,再来想想这道题目。 我们既然要求的是最小值,那么,在经过一个点双的时候,走的一定是具有较小权值的那一侧。 所以说,我们可以让所有的方点表示它所在的点双的最小权值, 这样子只需要对于圆方树树链剖分之后维护链的最小值
阅读全文
摘要:【BZOJ4817】树点涂色(LCT,线段树,树链剖分) 题面 "BZOJ" Description Bob有一棵n个点的有根树,其中1号点是根节点。Bob在每个点上涂了颜色,并且每个点上的颜色不同。定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。Bob可能会进行这几种
阅读全文
摘要:【BZOJ4568】幸运数字(线性基,树链剖分,ST表) 题面 "BZOJ" Description A 国共有 n 座城市,这些城市由 n 1 条道路相连,使得任意两座城市可以互达,且路径唯一。每座城市都有一个 幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征。一些旅行者希望游览 A
阅读全文
摘要:【BZOJ3626】LCA(树链剖分,Link Cut Tree) 题面 Description 给出一个n个节点的有根树(编号为0到n 1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l
阅读全文
摘要:【BZOJ3531】旅行(树链剖分,线段树) 题面 Description S国有N个城市,编号从1到N。城市间用N 1条双向道路连接,满足 从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教, S
阅读全文
摘要:【Luogu3398】仓鼠找sugar(树链剖分) 题面 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆(d)。他们都会走最短路径。现在小
阅读全文
摘要:【BZOJ2157】旅游(树链剖分,Link Cut Tree) 题面 Description Ray 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说,
阅读全文
摘要:【BZOJ4196】【NOI2015】软件包管理器 题面 题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有
阅读全文
摘要:【SHOI2012】魔法树 题面 BZOJ上找不到这道题目 只有洛谷上有。。 所以粘贴 "洛谷的题面" 题解 树链剖分之后直接维护线段树就可以了 树链剖分良心模板题 cpp include include include include include include using namespace
阅读全文
摘要:题面 "我们也要换个花样,这回提供洛谷的题面" 题解 线段树+树链剖分大水题 维护颜色段的方法很简单呀。。。 维护当前区间内的颜色段个数, 以及当前区间左端和右端的颜色, 合并的时候考虑是否要减一下就行了 至于跳LCA进行Modify的时候稍微注意一下细节 cpp include include i
阅读全文
摘要:"题目链接,我是真的懒得调题目的格式。。。" 题解 树链剖分搞一下LCA 把线段树弄出来 这只是形式上的线段树 本质上是维护一段区间的一个堆 每次把堆插入节点, 询问的时候查询线段树上的堆的最大值就行了 但是在插入节点的时候 把节点插入到非当前树链剖分经过的节点中 这里要稍微处理一下。 cpp in
阅读全文
摘要:题面 Description 公元 2044 年,人类进入了宇宙纪元。 L 国有 n 个星球,还有 n 1 条双向航道,每条航道建立在两个星球之间,这 n 1 条航道连通了 L 国的所有星球。 小 P 掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 ui 号星球沿最
阅读全文
摘要:题面 Description 有一棵点数为N的树,以点1为根,且树点有边权。然后有M个操作,分为三种: 操作1:把某个节点x的点权增加a。 操作2:把某个节点x为根的子树中所有点的点权都增加a。 操作3:询问某个节点x到根的路径中所有点的点权和。 Input 第一行两个整数N,M,表示点数和操作数。
阅读全文
摘要:题面 Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问
阅读全文
摘要:题面 Description “大话西游” 是一个在中国非常流行的在线游戏, 由 NIE 公司开发和维护。 这个游戏来源于著名的小说《西游记》 和周星弛的电影, 游戏的背景故事充满奇幻色彩, 引人入胜。 游戏里面有很多片区域, 不同的区域由不同的统治者管辖, 其中有一个地方名叫“树国”,由一个妖怪控
阅读全文
摘要:"题目自己到洛谷上去看" 题解 树链剖分模板题,以后再写详细的树链剖分(让我多做几道题) 先放代码,以后再补充详细的解释(留个坑) cpp include include include include include include using namespace std; define MAX
阅读全文