AT_abc406_f.[ABC406F] Compare Tree Weights

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个有 NN 个顶点的树 TT,顶点和边分别编号为顶点 11, 顶点 22, …\ldots, 顶点 NN 和边 11, 边 22, …\ldots, 边 (N−1)(N-1)。

特别地,边 ii (1≤i≤N−1)(1 \leq i \leq N-1) 连接顶点 UiU_i 和顶点 ViV_i。

此外,每个顶点都有一个权重,最初,所有顶点的权重都为 11。

给定 QQ 个查询,请按顺序处理它们。每个查询是以下两种类型之一:

  • 1 x w:将顶点 xx 的权重增加 ww。
  • 2 y:如果删除边 yy,TT 将分裂成两个子树(连通分量)。将每个子树中包含的顶点的权重总和作为该子树的权重时,输出两个子树权重的差。

关于第二种类型的查询,可以证明,从 TT 中选择任意一条边并删除它时,TT 总是会分裂成两个子树。

另外,请注意,第二种类型的查询实际上并没有删除边。

输入格式

输入按以下格式从标准输入给出。

NN
U1U_1 V1V_1
U2U_2 V2V_2
⋮\vdots
UN−1U_{N-1} VN−1V_{N-1}
QQ
query1\mathrm{query}_1
query2\mathrm{query}_2
⋮\vdots
queryQ\mathrm{query}_Q

每个查询 queryi\mathrm{query}_i (1≤i≤Q)(1 \leq i \leq Q) 按以下任一格式给出。

11 xx ww

22 yy

输出格式

设第二种类型查询的个数为 KK,输出 KK 行。第 ii 行 (1≤i≤K)(1 \leq i \leq K) 输出第 ii 个第二种类型查询的答案。

输入输出样例

  • 输入#1

    6
    1 2
    1 3
    2 4
    4 5
    4 6
    5
    2 1
    1 1 3
    2 1
    1 4 10
    2 5

    输出#1

    2
    1
    17

说明/提示

「数据范围」

  • 2≤N≤3×1052 \leq N \leq 3 \times 10^5
  • 1≤Ui,Vi≤N1 \leq U_i, V_i \leq N
  • 1≤Q≤3×1051 \leq Q \leq 3 \times 10^5
  • 1≤x≤N1 \leq x \leq N
  • 1≤w≤10001 \leq w \leq 1000
  • 1≤y≤N−11 \leq y \leq N-1
  • 输入均为整数
  • 给定的图是一棵树。
  • 至少存在一个第二种类型的查询。

「样例 1 解释」

树 TT 的结构和顶点编号对应如下图左所示。最初,所有顶点的权重都为 11。

对于第 11 个查询,考虑删除边 11。此时,树会分裂成包含顶点 11 的子树和包含顶点 22 的子树。包含顶点 11 的子树的权重为 22,包含顶点 22 的子树的权重为 44,因此输出它们的差 22。(下图右)

对于第 22 个查询,将顶点 11 的权重增加 33。

对于第 33 个查询,考虑删除边 11。包含顶点 11 的子树的权重为 55,包含顶点 22 的子树的权重为 44,因此输出它们的差 11。(下图左)

对于第 44 个查询,将顶点 44 的权重增加 1010。

对于第 55 个查询,考虑删除边 55。此时,树会分裂成包含顶点 44 的子树和仅包含顶点 66 的子树。包含顶点 44 的子树的权重为 1818,仅包含顶点 66 的子树的权重为 11,因此输出它们的差 1717。(下图右)

因此,按顺序换行输出第二种类型查询的答案 2,1,172, 1, 17。

输入解题思路,AI测评打分。不知道怎么写?

首页