Mining Station on the Sea 【HDU - 2448】【KM算法+多源最短路】
题目链接 题意 : 给你N个港口,有N艘船,它们分别在不同的矿厂,现在呢,它们要返回港口了,并且每个港口只能停靠一只船,而且呢船只要到了港口就不可以再往外跑了。现在给出K条边,是矿厂与矿厂之间的无向路径,然后呢有P条边,是港口与矿厂之间的无向路径。 思路 : 在这里,我们需要把“进了港口就不能再出来了”这个关键点用好,我们肯定可以确定的是船只能在矿厂和矿厂之间移动,所以我们不妨让起点变成港口,并且再也没有港口的边了,我们直接让它们在矿厂与矿厂之间跑,就可以使得它们确定与该港口之间的最短路了,然后跑KM算法的最小权完美匹配(负边)。即可。 #include <iostream> #include <cstdio> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <limits> #include <vector> #include <stack> #include <queue> #include <set> #include <map> #include <unordered_map> #include <unordered_set> #define lowbit(x) ( x&(-x) ) #define pi 3.141592653589793 #define