题目名称 4306. 魔法
输入输出 breeding.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatardjyqjy 于2026-02-05加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:4, 提交:19, 通过率:21.05%
GravatarRpUtl 100 1.501 s 31.97 MiB C++
Gravatardjyqjy 100 1.606 s 101.12 MiB C++
Gravatardjyqjy 100 1.833 s 101.23 MiB C++
Gravatardjyqjy 100 1.918 s 104.99 MiB C++
Gravatarxuyuqing 90 0.866 s 58.66 MiB C++
Gravatar2_16鸡扒拌面 90 1.337 s 48.02 MiB C++
Gravatar郑霁桓 90 1.361 s 32.01 MiB C++
Gravatar2_16鸡扒拌面 90 1.471 s 32.00 MiB C++
GravatarRpUtl 90 1.491 s 31.98 MiB C++
Gravatar郑霁桓 90 2.006 s 62.43 MiB C++
本题关联比赛
期末考试2
关于 魔法 的近10条评论(全部评论)

4306. 魔法

★★★   输入文件:breeding.in   输出文件:breeding.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

CF878D.

【题目描述】

你是一名魔法师,现在你要培育一些魔法生物。起初,你有 $k$ 只生物,编号从 1 到 $k$。每只生物有 $n$ 个不同的属性。

你有两种法术可以用两只生物创造出一只新生物。第一种法术创造出的新生物的每个属性都等于所用两只生物对应属性中的较大值。第二种法术类似,但每个属性取较小值。新生物分配最小的未用编号。

你使用法术后,对部分新生物的属性感兴趣,请求出一些属性值。

【输入格式】

第一行 $n$,$k$,$q$,分别为属性数,初始生物数,操作数。

接下来 $k$ 行每行 $n$ 个数,描述第 $i$ 个生物的第 $j$ 个属性 $a_{i,j}$。

接下来 $q$ 行描述操作。每次操作如下:

1.1 x y 表示使用第一种法术,用编号 $x$ 和 $y$ 的生物创造出新的生物。

2.2 x y 表示使用第二种法术,用编号 $x$ 和 $y$ 的生物创造出新的生物。

3.3 x y 表示查询第 $x$ 个生物的第 $y$ 个属性值。

保证所有出现的生物编号在被询问或操作前都已创建。

【输出格式】

每次查询输出一行为答案。

【样例输入1】

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

【样例输出1】

2
1

【样例输入2】

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

【样例输出2】

5
2
2
3
4

【数据规模与约定】

$1\le n \le 100000$,$1\le k \le 12$,$1\le q\le 100000$,$1\le a_{i,j}\le 10^9$。

对于 20% 的数据,$n,q\le 5000$。

对于另 40% 的数据,$k\le 6$。

对于另 20% 的数据,$a_{i,j}\le 2$。

大样例,分别对应三个性质和没有性质。