有关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, 不用考虑其他边的影响。这样就能把题目的难度变简单。

posted @ 2020-09-15 20:26  A_sc  阅读(144)  评论(0编辑  收藏  举报