AT_nupc2024_f.Labeled Tree Distance

通过率:0%

AC君温馨提醒

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

题目描述

给定一棵有 NN 个顶点的树 TT。第 ii 条边连接顶点 uiu_i 和 viv_i。最开始时,顶点 ii 被涂成颜色 AiA_i。接下来给出 QQ 个操作,请依次处理每个操作。操作有以下两种类型之一:

  • 1 k x:将顶点 kk 涂成颜色 xx。
  • 2 y:输出被颜色 yy 涂色的任意两个顶点之间的距离的最大值。

这里,两个顶点 (u,v)(u, v) 的距离指的是以 uu 和 vv 为端点的路径上包含的边的数量。

输入格式

输入以如下格式从标准输入读入。

NN
u1u_1 v1v_1
u2u_2 v2v_2
⋮\vdots
uN−1u_{N-1} vN−1v_{N-1}
A1 A2 … ANA_1\ A_2\ \ldots\ A_N
QQ
query1\mathrm{query}_1
query2\mathrm{query}_2
⋮\vdots
queryQ\mathrm{query}_Q

其中,queryi\mathrm{query}_i 表示第 ii 个查询,格式如下之一:

1 k x1\ k\ x
2 y2\ y

输出格式

设第 2 类查询的次数为 qq,请输出 qq 行。对于第 j (1≤j≤q)j\ (1 \le j \le q) 行,输出对应于第 jj 个第 2 类查询的结果。

输入输出样例

  • 输入#1

    3
    1 2
    2 3
    1 1 1
    3
    2 1
    1 1 2
    2 1

    输出#1

    2
    1
  • 输入#2

    4
    1 2
    1 3
    1 4
    1 1 2 2
    5
    2 1
    2 2
    1 1 3
    1 3 3
    2 3

    输出#2

    1
    2
    1
  • 输入#3

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

    输出#3

    4
    1
    2

说明/提示

样例解释 1

最初所有节点都被颜色 11 覆盖,此时颜色 11 覆盖的两个顶点中距离最大的为顶点 11 与顶点 33,其距离为 22。之后,如果将顶点 11 改涂为颜色 22,则此时颜色 11 覆盖的顶点为顶点 22 和顶点 33,它们之间的距离为 11。

数据范围

  • 2≤N≤1052 \leq N \leq 10^5
  • 1≤ui,vi≤N1 \leq u_i,v_i \leq N
  • 1≤Ai≤N1 \leq A_i \leq N
  • 1≤Q≤1051 \leq Q \leq 10^5
  • 1≤k≤N1 \leq k \leq N
  • 1≤x≤N1 \leq x \leq N
  • 1≤y≤N1 \leq y \leq N
  • 对于任意一个查询 2 y,颜色 yy 至少会覆盖 2 个顶点。
  • 输入均为整数。
  • 输入的图一定是一棵树。

由 ChatGPT 5 翻译

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

首页