#P2884. 动态树顶点加子树求和(Dynamic Tree Vertex Add Subtree Sum)
动态树顶点加子树求和(Dynamic Tree Vertex Add Subtree Sum)

动态树顶点加子树求和(Dynamic Tree Vertex Add Subtree Sum)
问题描述
给定一棵含 个顶点的树,顶点编号为 到 。每条边为 ,每个顶点 初始值为 。
处理 个查询,类型如下:
0 u v w x:删除边 ,并添加新边 (保证操作后仍为树)。1 p x:将顶点 的值更新为 。2 v p:将边 视为有向边 (即 是 的父节点),输出以 为根的子树中所有顶点的值之和。
注意:查询
2 v p中, 必须是当前树中的一条边;子树定义基于将该边定向为 后, 所在的连通分支(即以 为根、远离 的部分)。
约束条件
- 边 构成一棵树
- 对 type 0 查询, 是当前树中的一条边
- 对 type 2 查询, 是当前树中的一条边
输入
:
Query₀
Query₁
:
Query
5 7
1 10 100 1000 10000
0 1
1 2
2 3
1 4
2 1 2
1 1 100000
2 1 2
0 1 2 2 0
2 0 2
0 2 3 3 1
2 1 4
10011
110011
110011
101111