#iai20a3. 最小生成树(Minimum Spanning Tree)
最小生成树(Minimum Spanning Tree)
最小生成树(Minimum Spanning Tree)
题目描述
给定一个 n 个点,m 条边的简单无向连通图。对于每条边,我们可以降低或升高它的权(记改变后的权值为 a),并保持其他边的权不变,使得这条边存在于这个图的所有最小生成树中。
定义一条边的目标值为满足上述条件的 a 的最大值。若 a 可以任意大,则记它为 -1。请对每条边,输出它的目标值。
输入格式
第一行:两个整数 n 和 m。
接下来 m 行:每行三个数 u,v,w,表示 u 和 v 间有权大小为 w 的边。
输出格式
共 m 个数字:按给定的边顺序,依次输出它的目标值,用空格分开。
样例输入 #1
4 6 3 2 9 2 4 15 1 2 8 1 3 5 3 4 4 1 4 14
样例输出 #1
7 7 8 8 13 4
样例输入 #2
5 4 2 1 24 5 1 6 1 3 11 4 1 13
样例输出 #2
-1 -1 -1 -1
样例输入 #3
3 3 1 2 1 1 3 1 2 3 1
样例输出 #3
0 0 0
数据范围
- 对于 50% 的数据,2 ≤ n, m ≤ 2000
- 对于 100% 的数据,2 ≤ n, m ≤ 200000, 1 ≤ u, v ≤ n, 1 ≤ w ≤ 10^9
知识点与难度
本题涉及的知识点从属于 GESP 8级,难度等级:⭐⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 n,m≤20 / 特殊: 树 / 环 |
| 2 | 15 | 9~11 | Hack: 重边 / 大权重 / 链状图 |
| 3 | 30 | 12~20 | 中规模 n,m≈1000~100000 |
| 4 | 25 | 21~25 | 大规模 n,m≈200000 压力 |