树链剖分
ChaseNo1
这个作者很懒,什么都没留下…
展开
-
洛谷P3384 树链剖分模板
题意:已知一棵包含NNN个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1:1:1: 111 xxx yyy zzz 表示将树从xxx到yyy结点最短路径上所有节点的值都加上zzz操作2:2:2: 222 xxx yyy 表示求树从xxx到yyy结点最短路径上所有节点的值之和操作3:3:3: 333 xxx zzz 表示将以xxx为根节点的子树内所有节点值都加上zz...原创 2019-07-16 20:59:20 · 211 阅读 · 0 评论 -
SPOJ375 Query on a tree(树链剖分)
题意:一棵nnn个节点n−1n-1n−1跳边的树,每条边有边权,现有两个操作,第一:修改 某条边的边权,第二:询问任意两点路上的边的最大权值。分析:树链剖分裸题,不过和普通裸题不一样,上一题是点权而这里是边权。如何处理边权?做法:将权值加在边的终点就变成点权了,但必须保证u→vu\rightarrow vu→v这条边上uuu的深度是比vvv浅的。这样做有个小小的坑点:当我们查询两点路上最...原创 2019-07-16 22:34:13 · 118 阅读 · 0 评论 -
洛谷P2590 树的统计(树链剖分入门)
题意:一棵树上有nnn个节点,编号分别为111到nnn,每个节点都有一个权值www。我们将以下面的形式来要求你对这棵树完成一些操作:I. CHANGE u t :把结点u的权值改为tII. QMAX u v: 询问从点u到点v的路径上的节点的最大权值III. QSUM u v: 询问从点u到点v的路径上的节点的权值和分析:树剖裸题,只不过需要多维护点东西。#include <...原创 2019-07-16 22:39:41 · 186 阅读 · 0 评论 -
洛谷P2486 染色(树剖入门)
题意:给定一棵有nnn个节点的无根树和mmm个操作,操作有222类:1、1、1、将节点aaa到节点bbb路径上所有点都染成颜色ccc;2、2、2、询问节点aaa到节点bbb路径上的颜色段数量(连续相同颜色被认为是同一段)分析:树剖之后用线段树维护颜色就好了。维护的操作:线段树维护每个区间的左颜色lcollcollcol和右颜色lcollcollcol,和区间的颜色数www,lazyla...原创 2019-07-17 12:21:36 · 200 阅读 · 0 评论 -
SPOJ6779(树剖+区间最大连续和)
题意:给定一棵树,有N(N≤100000)N(N≤100000)N(N≤100000)个节点,每一个节点都有一个权值xi(∣xi∣≤10000)x_i (|x_i| \le 10000)xi(∣xi∣≤10000)你需要执行Q(Q≤100000))Q (Q \le 100000))Q(Q≤100000))次操作:111 aaa bbb 查询(a,b)(a,b)(a,b)这条链上的最大子段...原创 2019-07-17 21:49:22 · 202 阅读 · 0 评论