#4680. 模板. 动态树
模板. 动态树
Description
给定 个点(编号为 )以及每个点的权值,你需要在此基础上处理接下来给出的 个操作。 操作有以下四种:
0 x y
代表询问从 到 的路径上的点的权值的 和。保证 到 是联通的。1 x y
代表连接 到 ,若 到 已经联通则无需连接。2 x y
代表删除边 ,不保证边 存在。3 x y
代表将点 上的权值变成 。
Input
第一行两个整数,分别为 和 ,代表点数和操作数。
接下来 行,每行一个整数,第 行的整数 表示节点 的权值。
接下来 行,每行三个整数,分别代表操作类型和操作所需的值。
Output
对于每一个 号操作,你须输出一行一个整数,表示 到 的路径上点权的 和。
Samples
3 3
1
2
3
1 1 2
0 1 2
0 1 1
3
1
5 14
114
514
19
19
810
1 1 2
0 1 2
2 1 2
1 1 2
1 2 3
2 1 3
1 1 3
1 4 5
1 2 5
0 3 5
0 3 4
3 5 233333
0 1 5
0 2 5
624
315
296
232709
232823
Limitation
对于全部的测试点,保证:
- ,。
- 对于操作 ,保证 。
- 对于操作 ,保证 ,。