#lCAlydlt60x6307. 次小生成树
次小生成树
好的,这是整理好的题面,不含解题思路,只包含样例解释。
题目描述
给定一张 个点、 条边的无向图,求其严格次小生成树。
定义:
- 最小生成树(MST)的边权之和为 。
- 严格次小生成树:所有生成树中,边权之和严格大于 ,且是这些生成树中边权之和最小的一个。
保证至少存在一个严格次小生成树。
输入格式
第一行两个整数 和 。
接下来 行,每行三个整数 ,表示点 与点 之间有一条边,权值为 。
输出格式
输出一个整数,表示严格次小生成树的边权和。
数据范围
输入样例
5 6
1 2 1
1 3 2
2 4 3
3 5 4
3 4 3
4 5 6
输出样例
11
样例解释
,,边如下(按输入顺序编号):
- 1-2 权 1
- 1-3 权 2
- 2-4 权 3
- 3-5 权 4
- 3-4 权 3
- 4-5 权 6
求最小生成树(Kruskal 算法):
边按权排序:
(1,2,1), (1,3,2), (2,4,3), (3,4,3), (3,5,4), (4,5,6)
选边构造 MST:
- 选 (1,2,1),连通 {1,2}
- 选 (1,3,2),连通 {1,2,3}
- 选 (2,4,3),连通 {1,2,3,4}
- 选 (3,5,4),连通 {1,2,3,4,5},此时已连通所有点,停止。
MST 包含边:
① 1-2 (1)
② 1-3 (2)
③ 2-4 (3)
④ 3-5 (4)
MST 权值和 。
求严格次小生成树:
方法:枚举每条不在 MST 中的边,加入 MST 会形成一个环,去掉环中除新加入边外的最大边(如果最大边权等于新边权,则去掉次大边),得到一个候选生成树。取所有候选中最小的。
MST 中无的边:
- 边 5:3-4 (3)
- 边 6:4-5 (6)
候选 1:加入 3-4 (3),形成环 3-4-2-1-3。
环上 MST 边:3-1(2), 1-2(1), 2-4(3)。最大边是 3(2-4 和 3-4 权相等?注意 MST 中的 2-4 权 3,要替换的最大边在 MST 中,且必须小于等于 3。这里 3=3,所以替换时要找次大边,否则还是等于 10 不是严格大)。
环的 MST 边权集合 {2,1,3},最大 3,次大 2。
去掉次大边 3-1(2),新生成树权 = 10 + 3 - 2 = 11。
候选 2:加入 4-5 (6),形成环 4-5-3-1-2-4。
MST 边:4-2(3), 2-1(1), 1-3(2), 3-5(4)。最大 4(3-5),去掉它,新权 = 10 + 6 - 4 = 12。
所以候选:11 和 12,严格次小生成树权 = 11。
输出 11。