有关MST的两道题
有关MST的两道题
紧急更新:下面两类题不是说一定和MST有关,只是第一类要从大到小贪心处理边,第二类从小到大贪心处理边,直到图联通。好像和MST思想一样。我废话了。
第一道题:旅行(牛客)
第二道题:Maximum Distance(cf)
在第一题中:一条 u 到 v 的路径的 $cost(u,v) $ 是这条路径中权值最小的边,u到v的距离 \(dis(u, v)\) 是所有u到v路径 \(cost(u, v)\) 的最大值。
在第二题中:一条 u 到 v 的路径的 $cost(u,v) $ 是这条路径中权值最大的边,u到v的距离 \(dis(u, v)\) 是所有u到v路径 \(cost(u, v)\) 的最小值。
这就非常有意思了,先说一下结论:第一题和最大生成树有关,第二题和最小生成树有关。
为什么这两题可以和MST扯上关系呢?我们证明一下:
在第一题中 我们设u 和 v 在最大生成树中的路径cost = w1, 那么在原图中对任意一条不同的路径cost=w2, 那么一定 w2 < w1 (MST性质) ,按照第一题要求dis = max(w1, w2) = w1, 所以最后任意两点间的距离dis都是最大生成树中的两点路径的cost。
在第二题中我们设u 和 v在最小生成树中的路径cost = w1, 那么在原图中对任意一条不同的路径cost = w2, 那么一定 w2 > w1 (MST性质), 按照第二题的要求 dis = min(w1, w2) = w1, 所以最后任意两点间的距离dis都是最小生成树中的两点路径的cost。
那么解题时就可以建MST, 不用考虑其他边的影响。这样就能把题目的难度变简单。