[NFLSPC #6] 所以 k 小生成树怎么做?
题目描述
给定一张无向带权无自环无重边的连通图,求前 $k$ 小生成树的权值。
- 生成树的权值为其所有边权之和。
- 两棵生成树不同,当且仅当存在一条边在一棵生成树上,但不在另一棵生成树上。
- 若第 $i$ 小生成树不存在,则输出 $-1$。
输入输出格式
输入格式
第一行三个整数 $n, m, k$。
接下来 $m$ 行,每行三个整数 $u_i, v_i, w_i$,分别表示无向边的两端及其权值。
输出格式
输出 $k$ 行,第 $i$ 行一个整数表示第 $i$ 小生成树的权值。
输入输出样例
输入样例 #1
4 6 17
1 2 4
1 3 7
1 4 6
2 3 8
2 4 5
3 4 7
输出样例 #1
16
16
17
17
17
18
18
18
18
19
19
19
20
21
21
22
-1
说明
对于所有数据,$1\leq n \leq 5\times 10 ^ 4$,$n - 1\leq m\leq 10 ^ 5$,$1\leq k\leq 10 ^ 5$,$1\leq mk\leq 10 ^ 7$,$1\leq u_i, v_i\leq n$,$1\leq w_i\leq 10 ^ 9$。保证图连通,无自环,无重边。
- 子任务 1($10$ 分):$m ^ 2k\leq 10 ^ 6$。
- 子任务 2($20$ 分):保证每条边至多属于一个简单环。
- 子任务 3($20$ 分):$mk\leq 10 ^ 6$。
- 子任务 4($50$ 分):无特殊限制。
Source:NFLSPC #6 A by Alex_Wei