#P9085. 「HNOI2021 省集 Day5」下落的数字

    ID: 5169 传统题 文件IO:fall 2000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>图论树论树链剖分数据结构线段树算法基础二分

「HNOI2021 省集 Day5」下落的数字

题目描述

一棵以 11 为根的树,每个点有一个权值,一个数字从根节点出发,不断按照如下策略行动:

  • 在当前点的所有儿子中,选择权值大于等于它且权值最小的儿子,走到那个儿子上。
  • 如果不存在这样的儿子,它将停在当前节点。

问这个数字最终停在哪个节点。

mm 次操作,每次操作为修改一个点的权值,或者查询一个数字 cc 从根节点出发最终到达的点的编号。

输入格式

第一行两个数 n,mn, m,为树的节点数和操作数。

接下来一行 nn 个整数,第 ii 个数表示 ii 号点的权值 wiw_i

接下来 n1n − 1 行,每行两个正整数 x,yx, y 描述树上的一条边 (x,y)(x, y)

接下来 mm 行每行描述一个操作,有如下两种格式:

  • 1 a b:表示把 aa 节点的权值改成 bb
  • 2 c:表示查询数字 cc 从根节点出发最终到达的点的编号。

注意 11 号点的权值并无意义,你不需要关心它以及对它的修改(尽管这样的修改可能存在)。

数据保证任意时刻所有点的权值互不相同。

输出格式

对于每个查询操作,输出一行一个整数,表示数字 cc 最终到达的节点的编号。

样例

样例 1

5 5 
6 7 8 4 2
1 2
1 3
3 4
3 5
2 8
2 4
1 3 5
2 1
2 3
3
2
5
4

样例 2,3,4

见附加文件中的 fall/fall*.infall/fall*.ans

测试点约束

对于所有数据,保证 1n,m2×1051\le n,m\le 2\times 10^51wi,b,c1091\le w_i,b,c\le 10^9

子任务编号 n,mn,m\le 特殊性质 分值
11 5×1035\times 10^3 2020
22 2×1052\times 10^5 树为一条链 1010
33 存在一个点的度数为 n1n-1
44 没有修改操作 2020
55 4040