A National Pandemic
题目描述:
国家可以表示为 n n n 个节点 n − 1 n-1 n−1 条边的图。 F ( x ) F(x) F(x) 表示节点 x x x 的疫情严重性。有以下三种修改/查询:
- 疫情在 x x x 节点爆发,严重性为 x x x,对于每个节点 y y y, F ( y ) F(y) F(y)增加 w − d i s t ( x , y ) w-dist(x,y) w−dist(x,y),其中 d i s t ( x , y ) dist(x,y) dist(x,y) 表示节点 x x x 到节点 y y y 路径上边的数量。
- 将节点 x x x 的 F ( x ) F(x) F(x)更新为 m i n ( F ( x ) , 0 ) min(F(x), 0) min(F(x),0)。
- 询问节点 x x x 的 F ( x ) F(x) F(x)
输入描述:
有多个测试用例。 输入的第一行包含一个整数 T ( 1 ≤ T ≤ 5 ) T(1 \leq T \leq 5) T(1≤T≤5),表示测试用例的数量。
对于每个测试用例,第一行包含两个整数 n , m ( 1 ≤ n , m ≤ 5 × 1 0 4 ) n,m(1 \leq n,m \leq 5 \times 10 ^ 4) n,m(1≤n,m≤5×104),代表城市的数量以及事件和查询的数量。 以下 n − 1 n-1 n−1行描述了该国家/地区的所有路径,每条路径均包含两个整数 x , y ( 1 ≤ x , y ≤ n ) x,y(1 \leq x,y \leq n) x,y(1≤x,y≤n),代表城市 x x x和 y y y之间的道路。 以下 m m m行描述了所有事件,每个事件均以整数 o p t ( 1 ≤ o p t ≤ 3 ) \mathit {opt}(1 \leq \mathit {opt} \leq 3) opt(1≤opt≤3)开始,并且如果 o p t \mathit{opt} opt为
- 在同一行中将有两个整数 x , w ( 1 ≤ x ≤ n , 0 ≤ w ≤ 10000 ) x,w(1 \leq x \leq n,0 \leq w \leq 10000) x,