#19234. 生物群落的融合
生物群落的融合
在生态学中,有一个极其迷人的概念叫做 “生态位重叠”与“生物群落的融合”。想象一下,一个正在进行地球化改造的星球,地表上有成千上万个被力场隔离的微型生态圈。随着改造的进行,力场逐渐消失,原本隔离的食物网开始合并,能量开始流动。
[OI 题库] 盖亚计划:生物群落的融合 (Project Gaia: Biome Fusion)
题目背景
“生命不仅仅是物质的堆砌,更是能量流动的网络。” —— 《银河帝国:基地边缘》
在遥远的索拉利星球(Solaria),行星工程师们正在执行“盖亚计划”。他们制造了 种人造生物,起初,这 种生物被分别隔离在 个独立的微型力场中,每一个生物都构成了一个孤独的“单体生态系统”。
每种生物都有两个属性:
- 基础能量值 ():代表该物种的生物量。
- 统治力 ():代表该物种在食物链中的地位(数值越大越强,若数值相同则编号小的优先)。
随着实验的推进,工程师们会执行一系列操作,打破力场,让不同的物种接触。一旦两个物种接触,它们所在的整个生态网络就会瞬间融合在一起,形成一个更大的能量循环系统。
作为中央电脑的算法核心,你需要实时维护这些生态网络的状态。
题目描述
共有 个物种,编号为 到 。初始时,第 个物种属于第 个独立的生态网络。
你需要处理 次操作,操作分为两类:
- 融合 (Merge):
1 u v打破隔离,让物种 所在的生态网络与物种 所在的生态网络融合。如果它们已经在同一个网络中,则忽略此操作。 - 查询 (Query):
2 x查询物种 当前所在的生态网络。你需要输出两个信息:- 该网络中所有物种的总能量值。
- 该网络中统治力最高的物种编号(即“顶级掠食者”)。
输入格式
第一行包含两个整数 ,分别表示物种数量和操作次数。 接下来 行,每行两个整数 ,分别表示第 个物种的能量值和统治力。 接下来 行,每行包含两个或三个整数,代表一次操作:
1 u v:表示融合操作。2 x:表示查询操作。
输出格式
对于由于每个 2 类操作,输出一行,包含两个整数,中间用空格分隔:分别是当前网络的总能量和顶级掠食者的编号。
样例数据
输入 (Input)
5 6
10 5
20 3
30 8
40 2
50 9
1 1 2
1 3 4
2 1
1 2 3
2 4
2 5
输出 (Output)
30 1
100 3
50 5
数据范围
- 时间限制:1.0s
- 空间限制:256MB