#19234. 生物群落的融合

生物群落的融合

在生态学中,有一个极其迷人的概念叫做 “生态位重叠”“生物群落的融合”。想象一下,一个正在进行地球化改造的星球,地表上有成千上万个被力场隔离的微型生态圈。随着改造的进行,力场逐渐消失,原本隔离的食物网开始合并,能量开始流动。


[OI 题库] 盖亚计划:生物群落的融合 (Project Gaia: Biome Fusion)

题目背景

“生命不仅仅是物质的堆砌,更是能量流动的网络。” —— 《银河帝国:基地边缘》

在遥远的索拉利星球(Solaria),行星工程师们正在执行“盖亚计划”。他们制造了 NN 种人造生物,起初,这 NN 种生物被分别隔离在 NN 个独立的微型力场中,每一个生物都构成了一个孤独的“单体生态系统”。

每种生物都有两个属性:

  1. 基础能量值 (EiE_i):代表该物种的生物量。
  2. 统治力 (PiP_i):代表该物种在食物链中的地位(数值越大越强,若数值相同则编号小的优先)。

随着实验的推进,工程师们会执行一系列操作,打破力场,让不同的物种接触。一旦两个物种接触,它们所在的整个生态网络就会瞬间融合在一起,形成一个更大的能量循环系统。

作为中央电脑的算法核心,你需要实时维护这些生态网络的状态。

题目描述

共有 NN 个物种,编号为 11NN。初始时,第 ii 个物种属于第 ii 个独立的生态网络。

你需要处理 MM 次操作,操作分为两类:

  1. 融合 (Merge)1 u v 打破隔离,让物种 uu 所在的生态网络与物种 vv 所在的生态网络融合。如果它们已经在同一个网络中,则忽略此操作。
  2. 查询 (Query)2 x 查询物种 xx 当前所在的生态网络。你需要输出两个信息:
    • 该网络中所有物种的总能量值
    • 该网络中统治力最高的物种编号(即“顶级掠食者”)。

输入格式

第一行包含两个整数 N,MN, M,分别表示物种数量和操作次数。 接下来 NN 行,每行两个整数 Ei,PiE_i, P_i,分别表示第 ii 个物种的能量值和统治力。 接下来 MM 行,每行包含两个或三个整数,代表一次操作:

  • 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

数据范围

  • 1N,M1051 \le N, M \le 10^5
  • 1Ei,Pi1091 \le E_i, P_i \le 10^9
  • 时间限制:1.0s
  • 空间限制:256MB