D. DFS 序 4

    Type: Default 2500ms 256MiB

DFS 序 4

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

这是一道模板题。

本题严重卡常,请务必使用 fread 快读,不保证无快读的程序能过(虽然标程没用快读)。另外,建议使用 Tarjan 或树剖求 LCA。

给一棵有根树,这棵树由编号为 1N1\dots NNN 个结点组成。根结点的编号为 RR。每个结点都有一个权值,结点 ii 的权值为 viv_i
接下来有 MM 组操作,操作分为三类:

  • 1 a x,表示将结点 aa 的权值增加 xx
  • 2 a x,表示将 aa 的子树上所有结点的权值增加 xx
  • 3 a b,表示求「结点 aa 到结点 bb 的简单路径」上所有结点的权值之和。

输入格式

第一行有三个整数 N,MN,MRR
第二行有 NN 个整数,第 ii 个整数表示 viv_i
在接下来的 N1N-1 行中,每行两个整数,表示一条边。
在接下来的 MM 行中,每行一组操作。

输出格式

对于每组 3 a b\texttt{3 a b} 操作,输出一个整数,表示「结点 aa 到结点 bb 的简单路径」上所有结点的权值之和(含结点 a,a, bb)。

10 13 5
-2 -7 0 2 -9 -2 -4 9 8 -1
9 8
9 4
9 2
4 10
10 7
10 6
2 1
8 3
7 5
3 8 6
1 7 -8
1 5 -9
1 5 -4
1 4 -2
1 2 -1
3 5 1
1 7 1
3 1 3
1 1 -3
3 10 2
1 1 -8
3 8 4
16
-37
7
-1
17

提示

40%40\% 的数据不含操作 3。
对于所有数据,1N,M106,1\leqslant N, M\leqslant 10^6, 1RN,1\leqslant R\leqslant N, 106vi,x106-10^6\leqslant v_i, x\leqslant 10^6.

DFS序

Not Claimed
Status
Done
Problem
4
Open Since
2025-6-27 0:00
Deadline
2025-7-5 23:59
Extension
24 hour(s)