#P9666. [ICPC 2021 Macao R] Link-Cut Tree
[ICPC 2021 Macao R] Link-Cut Tree
Description
宝宝刚刚学会使用一种称为“链接切割树”的数据结构来寻找图中的环,并决定尝试一下。宝宝得到一个有 个顶点和 条边的无向图,其中第 条边的长度为 。她需要找到一个长度最小的简单环。
一个简单环是原始图的一个子图,包含 () 个顶点 和 条边,使得对于所有 ,在子图中存在一条边连接顶点 和 。简单环的长度是环中边的总长度。
Input Format
输入包含多个测试用例。输入的第一行包含一个整数 ,表示测试用例的数量。对于每个测试用例:
第一行包含两个整数 和 (, ),表示原始图中的顶点数和边数。
接下来的 行中,第 行包含两个整数 和 (),表示连接顶点 和 的一条边,其长度为 。没有自环或重边。注意,图不一定是连通的。
保证所有测试用例中 的总和和 的总和都不会超过 。
Output Format
对于每个测试用例输出一行。如果图中没有简单环,则输出“-1”(不带引号);否则输出 个以空格分隔的整数,按升序表示简单环中最小长度的边的索引。可以证明最多只有一个答案。
请不要在每行末尾输出多余的空格,否则您的解答可能会被视为不正确!
2
6 8
1 2
2 3
5 6
3 4
2 5
5 4
5 1
4 2
4 2
1 2
4 3
2 4 5 6
-1
Hint
第一个样例测试用例如下。边旁边的整数是它们的索引(括号外)和长度(括号内)。长度最小的简单环由边 、、 和 组成,其长度为 。
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号