CF878D Magic Breeding

题目描述

Nikita 和 Sasha 玩一款电脑游戏,在游戏中你需要培育一些魔法生物。起初,他们有 $k$ 只生物,编号从 $1$ 到 $k$。每只生物有 $n$ 个不同的属性。 Sasha 有一个法术,可以用两只生物创造出一只新生物。新生物的每个属性都等于所用两只生物对应属性中的较大值。Nikita 的法术类似,但每个属性取较小值。新生物分配最小的未用编号。 他们使用法术后,对部分新生物的属性感兴趣。请你帮他们求出这些属性值。

输入格式

第一行包含整数 $n$、$k$ 和 $q$($1 \leq n \leq 10^5$,$1 \leq k \leq 12$,$1 \leq q \leq 10^5$),分别表示属性数、生物数和询问数。 接下来 $k$ 行描述初始生物。第 $i$ 行包含 $n$ 个数字 $a_{i1}, a_{i2}, ..., a_{in}$($1 \leq a_{ij} \leq 10^9$),表示第 $i$ 只生物的属性。 接下来 $q$ 行,每行一个询问。第 $i$ 行包含数字 $t_i$、$x_i$ 和 $y_i$($1 \leq t_i \leq 3$),表示: - 若 $t_i=1$,表示 Sasha 对第 $x_i$ 与 $y_i$ 两只生物施法生成新生物,新生物的属性为对应属性的较大值。 - 若 $t_i=2$,表示 Nikita 对第 $x_i$ 与 $y_i$ 两只生物施法生成新生物,新生物的属性为对应属性的较小值。 - 若 $t_i=3$,表示询问第 $x_i$ 只生物的第 $y_i$ 个属性,此时 $1 \leq y_i \leq n$。 保证所有出现的生物编号在被询问或操作前都已创建。

输出格式

对于所有 $t_i=3$ 的询问,输出对应生物的对应属性,每个结果占一行。

说明/提示

在第一个样例中,Sasha 用编号 $1$ 和 $2$ 的生物生成了编号 $3$ 的生物,其属性为 $(2,2)$。Nikita 用编号 $1$ 和 $2$ 的生物生成了编号 $4$ 的生物,其属性为 $(1,1)$。他们分别询问了编号 $3$ 的生物的第 $1$ 个属性,以及编号 $4$ 的生物的第 $2$ 个属性。 由 ChatGPT 5 翻译