CF1380E Merging Towers
题目描述
有 $n$ 个唱片,第 $i$ 个唱片半径是 $i$,最开始他们被摆放在 $m$ 个塔。每个塔的唱片高度由下到上递减,也就是半径大的唱片摆在塔的下面。
你的目标是把所有唱片摆放到某个塔上,你可以选择两个**非空**的塔,取出一个塔的上层某些(可以是所有的)唱片并摆放到另一个塔上,注意摆放完不能破坏塔的从下到上递减的性质。这个操作会产生 $1$ 的代价。
给出 $m-1$ 个操作,第 $i$ 个给出序号为 $a_i$ 和 $b_i$ 的塔。你需要在第 $i$ 个询问时回答:前 $i$ 次操作执行完之后,合并当前所有塔需要的最小代价。
输入格式
第一行 $n,m$ 表示唱片的数量和塔的数量。
接下来 $n$ 个数 $t_i$ 表示第 $i$ 个唱片所在的塔的编号。
接下来 $m-1$ 行每行两个数 $a_i,b_i$ 表示一个询问。
输出格式
输出 $m$ 行,每行对应第 $0\le i \le m-1$ 次询问的答案。
说明/提示
$2\le m\le n\le 2\cdot 10^5$
$1\le a_i,b_i\le m$ ,保证操作前 $a_i,b_i$ 塔存在唱片
$t_i$ 保证 $[1,m]$ 的数每个都会出现