随笔分类 - 数据结构—树链剖分
摘要:传送门 前置知识:树状数组 差分 树链剖分 LCA 对树上路径经过的点进行操作,实际上是对区间维护一个函数。 开三个树状数组维护函数的三个系数。 都是基本操作,具体看代码注释。 题外话: 上次写树剖还是两年前(? 这几天重新又学了遍 树状数组学习博客 我的树剖板子们 #include<iostrea
阅读全文
摘要:T1 洛谷p3384树链剖分模板 传送门 题目大意:1 区间加 2 区间和 3子树加 4子树和 代码: #include<cstdio> #include<iostream> using namespace std; const int maxn=500005; typedef long long
阅读全文
摘要:题目大意:树上一系列沙茶操作 Max x--y 树上x--y之间边的最大权值 Cover x--y w.树上x--y之前边的权值都变为w Add x--y w 树上x--y之间边权都加w Change x w把第x条边权值改为w 题解:树链剖分 权值是边的不是点的,由于树上每个点只有一个爸爸,所以让
阅读全文
摘要:传送门 题目大意:一棵树,节点一开始有颜色并都相同。有两种操作a--b路径上所有点染成c, 求a-b路径上有多少个颜色连续的序列。 题解:树链剖分 线段树需要记录区间个数sum,区间左右端点的颜色lc,rc,还有懒标记。 其他需要注意的就是端点了。 如:用线段树统计区间[l,r]有多少连续的颜色序列
阅读全文
摘要:[HAOI2015]树上操作 传送门 题目大意:三个操作 1:a,b,c b节点权值+c 2:a,b,c 以b为根的子树节点权值全部+c 3:a,b 查询b到根路径的权值和。 题解:树链剖分 操作1 ,2是区间修改,3是区间和。 看题解都提示开long long 了,我也开了,可是整形相乘赋值给Lo
阅读全文
摘要:秋日のsecret 题目大意:一棵树,q个操作,a,b,c,当a=1时树上b-c节点权值+1,a=2,求b-c节点的权值和。 题解:树剖 pushdown的时候没有乘以懒标记orz 代码: #include<iostream> #include<cstring> #include<cstdio> #
阅读全文
摘要:T1转圈游戏 十月のsecret 题解:快速幂 代码: #include<iostream> #include<cstring> #include<cstdio> #define LL long long using namespace std; int n,m,k,x; void read(int
阅读全文
摘要:题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径
阅读全文
摘要:题目描述 A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。 输入输出格式 输入格式: 输入文件名为 truck.in。 输入文件第一行有两个用
阅读全文

浙公网安备 33010602011771号