摘要:
题目:http://poj.org/problem?id=3565 首先,我们神奇地发现,没有相交边的匹配可以转化为距离和最小的匹配,所以可以使用KM算法求带权匹配; 要求的是距离和最小,所以把边权转化成负值来求最大; KM算法有点难理解,看了许多博客,总算朦胧懂了: 首先,每个点有一个“顶标”,用 阅读全文
摘要:
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2750 以每个点作为源点,spfa跑出一个最短路图(不一定是树,因为可能很多条最短路一样长); 对于图中的每条边,需要知道从源点到边起点的方案数和边终点的size; 所以对于每张图都dfs求一遍 阅读全文
摘要:
题目:http://poj.org/problem?id=1236 通过传输文件的特点可以看出要先求强联通分量,缩点; 问题1:即缩点后入度为0的点,从它们开始传文件可以传给所有学校; 问题2:对于所有入度为0、出度为0的点,对应连一条边;多余的随便再连一下就可以,所以答案是max(入度为0点数,出 阅读全文
摘要:
题目:http://poj.org/problem?id=2226 把行连通块作为左部点,列连通块作为右部点,行列连通块有相交的格子就连边; 则问题转化为求最小点覆盖,即最大匹配。 代码如下: 阅读全文