摘要: 题意:有N个人,有限对的人可以在一起工作,问最多能有多少对.分析:任意图的最大匹配// File MAXName: 1099.cpp// Author: Zlbing// Created Time: 2013/8/31 14:37:38#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define CL(x,v); memset(x,v,sizeof(x));#define INF 0x3f3f3f3f#defi 阅读全文
posted @ 2013-08-31 14:55 z.arbitrary 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 匹配就是一个图中一堆没有端点的边的集合,求最大匹配就是求这个边集最大有多少条边。无论是任意图还是二分图,都有以下定理:当前匹配是最大匹配当且仅当不存在增广路。增广路的定义就是,一条包含奇数条边的路径,最前和最后的两条边都是非匹配边,且对于路径非两端的点,都连接着一条匹配边和非匹配边。求图的匹配的算法就是不断地找增广路,把增广路上的匹配边变成非匹配边,非匹配边变成匹配边。对于二分图来说,只要从一个没有被匹配到的点开始bfs(dfs)一下就能找到增广路(如果确实有增广路)。但是对于任意图来说,从一个没有被匹配到的点开始bfs(dfs)不一定能找到,能不能找到取决于遍历的顺序。于是,为了使任意图可以 阅读全文
posted @ 2013-08-31 14:23 z.arbitrary 阅读(2265) 评论(0) 推荐(1) 编辑