#P1130. 【模板】启发式合并
【模板】启发式合并
Description
启发式合并是一种用于优化合并操作的技巧。一般而言朴素合并是 $O(n^2)$ 的,用启发式合并可以做到 $O(n\log n)$。例如可以用在优化并查集合并上。
虽然不常用,但不难掌握。
初始 $n$ 个集合,共 $m$ 次操作,每次选择其中两个进行合并,升序输出最终集合大小最大的集合元素。
Input Format
第一行两个整数 $n,m$ 分别表示初始集合个数和操作次数。
第二行 $n$ 个整数表示第 $i$ 个集合的初始元素。
接下来 m 行,每行表示一个操作。
$1.$ x y
合并 $x$ 号元素所在集合和 $y$ 号元素所在集合。
Output Format
第一行一个整数表示集合大小最大的集合大小。
第二行若干个整数表示集合元素。
6 4
1 2 3 4 5 6
1 2
2 3
3 4
4 5
5
1 2 3 4 5