#P12550. [集训队互测 2024day5]数据结构

[集训队互测 2024day5]数据结构

小 Z 有一棵 nn 个节点构成的树,这棵树以点 11 为根,边权均为 11 ,每个节点 xx 有点权 axa_x ,初始所有节点的权值为 00 .

小 Z 想对这棵树进行总共 mm 次操作,并且 小 Z 希望能够支持以下四种类型的操作:

  1. 给定 x,y,k,vx,y,k,v ,对满足节点 ii 到树上唯一的最短路径 (x,y)(x,y) 的最短距离 k\leq k 的所有节点 ii 的权值增加 vv ,即 aiai+va_i \leftarrow a_i+v .
  2. 给定 x,vx,v ,将点 xx 的子树内的所有节点 ii 的权值增加 vv ,即 aiai+va_i \leftarrow a_i+v .
  3. 给定 x,y,kx,y,k ,查询所有满足节点 ii 到树上唯一的最短路径 (x,y)(x,y) 的最短距离 k\leq k 的所有节点 ii 的权值的和.
  4. 给定 xx ,查询点 xx 的子树内的所有节点 ii 的权值和.

由于答案会比较大,输出对 2642^{64} 取模即可.

输入格式

第一行为两个正整数 n,mn,m .

接下来第 22 行到第 nn 行每行两个正整数 u,vu,v 来描述树上的一条边.

接下来 mm 行,每行先给出一个操作类型 opop .

op=1op=1 时给定 x,y,k,vx,y,k,v 来描述操作一;

op=2op=2 时给定 x,vx,v 来描述操作二;

op=3op=3 时给定 x,y,kx,y,k 来描述操作三;

op=4op=4 时给定 xx 来描述操作四.

输出格式

对于每个操作 33 和操作 44 ,输出其对应的答案对 2642^{64} 取模的结果.

数据范围

数据范围: $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分) : 1n,m5×1031 \leq n , m \leq 5 \times 10^3 .

子任务 2 (10分) : k=0k=0 .

子任务 3 (5分) : 保证树形态构成一条形如 11 连接 22 连接 ...... 连接 nn 的链(所有边均可以表示为 ii 连接 i+1i+1 的形式).

子任务 4 (10分) : 保证 k=1k=1 ,操作类型只包含操作一和操作三,并且操作一和操作三满足 x=yx=y ,即修改和查询的链是单点.

子任务 5 (10分) : 保证操作类型只包含操作一和操作三,并且操作一和操作三满足 x=yx=y ,即修改和查询的链是单点.

子任务 6 (15分) : 保证操作一和操作三满足 x=yx=y ,即修改和查询的链是单点.

子任务 7 (15分) : k1k \leq 1 .

子任务 8 (25分) : 无特殊限制.