#P12550. [集训队互测 2024day5]数据结构
[集训队互测 2024day5]数据结构
小 Z 有一棵 个节点构成的树,这棵树以点 为根,边权均为 ,每个节点 有点权 ,初始所有节点的权值为 .
小 Z 想对这棵树进行总共 次操作,并且 小 Z 希望能够支持以下四种类型的操作:
- 给定 ,对满足节点 到树上唯一的最短路径 的最短距离 的所有节点 的权值增加 ,即 .
- 给定 ,将点 的子树内的所有节点 的权值增加 ,即 .
- 给定 ,查询所有满足节点 到树上唯一的最短路径 的最短距离 的所有节点 的权值的和.
- 给定 ,查询点 的子树内的所有节点 的权值和.
由于答案会比较大,输出对 取模即可.
输入格式
第一行为两个正整数 .
接下来第 行到第 行每行两个正整数 来描述树上的一条边.
接下来 行,每行先给出一个操作类型 .
当 时给定 来描述操作一;
当 时给定 来描述操作二;
当 时给定 来描述操作三;
当 时给定 来描述操作四.
输出格式
对于每个操作 和操作 ,输出其对应的答案对 取模的结果.
数据范围
数据范围: $1 \leq n,m \leq 2 \times 10^5 , 1 \leq x,y \leq n , 1 \leq v \leq 10^9 ,0 \leq k \leq 3$ .
时间限制 7s ,空间限制 1G .
部分分
数据范围: $1 \leq n,m \leq 2 \times 10^5 , 1 \leq x,y \leq n , 1 \leq v \leq 10^9 ,0 \leq k \leq 3$ .
子任务 1 (10分) : .
子任务 2 (10分) : .
子任务 3 (5分) : 保证树形态构成一条形如 连接 连接 连接 的链(所有边均可以表示为 连接 的形式).
子任务 4 (10分) : 保证 ,操作类型只包含操作一和操作三,并且操作一和操作三满足 ,即修改和查询的链是单点.
子任务 5 (10分) : 保证操作类型只包含操作一和操作三,并且操作一和操作三满足 ,即修改和查询的链是单点.
子任务 6 (15分) : 保证操作一和操作三满足 ,即修改和查询的链是单点.
子任务 7 (15分) : .
子任务 8 (25分) : 无特殊限制.