#P9077. [PA2018] Poddrzewo
[PA2018] Poddrzewo
题目描述
题目译自 PA 2018 Runda 1 Poddrzewo
给定一个长度为 的序列 。
构造一个结点数为 的无根树,结点编号分别为 。该树第 个结点的度数为 。
有可能无解,你可以进行如下操作来使其有解:
- 修改序列中第 个数。
- 删除序列中第 个数。
- 交换序列中第 个数。
可以证明,进行有限次操作后一定有解。
你的任务是 最小化操作 使用的次数。
输入格式
一行一个整数 ,表示序列 的长度。
下一行有 个整数,第 个整数表示 。
输出格式
第一行一个整数 ,表示操作 使用次数最小值。
第二行一个整数 ,表示你构造的树结点数目。
接下来 行,每行两个数 ,表示连接第 个结点。
多解输出任意解。
6
2 1 5 3 1 1
0
5
1 2
2 3
1 4
1 5
3
1 2 2
1
3
1 2
2 3
提示
样例 1 解释
我们可以删除第 个数字,然后更改元素的顺序。
得到最后的序列为 。
这是构造的树的示意图:
样例 2 解释
我们可以修改第 个数字,得到最后的序列为 。可以证明,操作 至少需要使用 次。
这是构造的树的示意图:
数据范围
本题采用捆绑测试
对于 的数据:
保证存在至少一个子任务,其中操作 使用次数最小值为 。