随笔分类 - 二分图匹配
摘要:"传送门" 这应该是比裸的一个网络流/二分图匹配了。 直接跑一遍Dinic求出最大流。再依次遍历所有二分图上的边,如果剩余流量是0,则说明两者相互匹配,作为一组输出。 cpp include include include include define MAXN 205 define MAXM 20
阅读全文
摘要:建立一个超级源点和超级汇点,点与点之间的容量均为1,因为一个点只能匹配一个点,源点向所有左边的点连边,汇点向右边的点连边。最后网络的最大流即为最大匹配。 cpp include include include define MAXN 2005 struct queue { int q[MAXN],h
阅读全文
摘要:"传送门" 所有学生都有床可以让认识自己的人睡,不在校的学生不占用床铺。 考虑建一个二分图,人对应床,求出最大匹配,根据题意,所有人都应该被安排上,那么就不能存在无法匹配。 cpp include include include define MAXN 55 int Link[MAXN],vis[M
阅读全文
摘要:"题目链接" cpp include include define MAXN 1005 using namespace std; int link[MAXN],vis[MAXN],head[MAXN]; struct edge{ int v,next; }G[MAXN
阅读全文
摘要:"推荐一篇Blog" cpp //Hungarian Algorithm include include define MAXN 1005 using namespace std; int link[MAXN],head[MAXN]; bool vis[MAXN]; int N,M,E,tot=0;
阅读全文

浙公网安备 33010602011771号