#P2778. 树上点修 & 路径复合求和(Point Set Tree Path Composite Sum)

树上点修 & 路径复合求和(Point Set Tree Path Composite Sum)

树上点修 & 路径复合求和(Point Set Tree Path Composite Sum)

问题描述

给定:

  • 一棵含 N N 个顶点的树;
  • N N 个整数 a0,a1,,aN1 a_0, a_1, \dots, a_{N-1}
  • N1 N-1 个整数 b0,b1,,bN2 b_0, b_1, \dots, b_{N-2}
  • N1 N-1 个整数 c0,c1,,cN2 c_0, c_1, \dots, c_{N-2}

i i 连接顶点 ui u_i vi v_i ,且为双向边。

对每个整数 e e 满足 0eN2 0 \le e \le N-2 ,令

fe(x)=bex+ce.f_e(x) = b_e x + c_e.

e0,e1,,ek e_0, e_1, \dots, e_k 是从顶点 x x 到顶点 y y 的简单路径上的边(按从 x x y y 的顺序),定义

$$P(x, y) = f_{e_k}(f_{e_{k-1}}(\cdots f_{e_0}(a_y)\cdots)).$$

处理 Q Q 个查询:

  • 0 w x r:将 aw a_w 更新为 x x ,然后输出 $\left( \sum_{v=0}^{N-1} P(r, v) \right) \bmod 998244353$。
  • 1 e y z r:将边 e e 的参数更新为 (be,ce)(y,z) (b_e, c_e) \leftarrow (y, z) ,然后输出 $\left( \sum_{v=0}^{N-1} P(r, v) \right) \bmod 998244353$。

约束条件

  • 所有输入均为整数。
  • 1N2×105 1 \leq N \leq 2 \times 10^5
  • 1Q2×105 1 \leq Q \leq 2 \times 10^5
  • 0ui,viN1 0 \leq u_i, v_i \leq N-1
  • 0aw<998244353 0 \leq a_w < 998244353
  • 1be<998244353 1 \leq b_e < 998244353
  • 0ce<998244353 0 \leq c_e < 998244353
  • 0wN1 0 \leq w \leq N-1
  • 0eN2 0 \leq e \leq N-2
  • 0x<998244353 0 \leq x < 998244353
  • 1y<998244353 1 \leq y < 998244353
  • 0z<998244353 0 \leq z < 998244353
  • 0rN1 0 \leq r \leq N-1

输入

N QN\ Q
a0 a1  aN1a_0\ a_1\ \cdots\ a_{N-1}
u0 v0 b0 c0u_0\ v_0\ b_0\ c_0
u1 v1 b1 c1u_1\ v_1\ b_1\ c_1
:
uN2 vN2 bN2 cN2u_{N-2}\ v_{N-2}\ b_{N-2}\ c_{N-2}
Query₀
Query₁
:
QueryQ1_{Q-1}

输出

p0p_0
p1p_1
:
pQ1p_{Q-1}

其中 pi p_i 表示第 i i 个查询的答案。

3 2
1 2 3
0 1 4 5
1 2 6 7
0 2 8 0
1 0 9 10 1
239
76
8 4
1 2 3 4 5 6 7 8
0 1 10 1
1 2 10 1
0 3 10 1
0 4 10 0
0 5 10 1
5 6 10 0
6 7 10 1
0 6 10 5
1 4 100000 2 2
0 7 100000 3
0 0 100000 0
5161
175810713
702319900
769103076