二分图匹配笔记

Posted Altria Pendragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分图匹配笔记相关的知识,希望对你有一定的参考价值。

匈牙利算法

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int match[501],n,m,a,b,ans=0;
 6 bool used[501],map[501][501];
 7 bool check(int u){
 8     for(int i=1;i<=m;i++){
 9         if(map[u][i]&&!used[i]){
10             used[i]=true;
11             if(!match[i]||check(match[i])){
12                 match[i]=u;
13                 return true;
14             }
15         }
16     }
17     return false;
18 }
19 int main(){
20     memset(map,0,sizeof(map));
21     memset(match,0,sizeof(match));
22     scanf("%d%d",&n,&m);
23     for(int i=1;i<=m;i++){
24         scanf("%d%d",&a,&b);
25         map[a][b]=true;
26     }
27     for(int i=1;i<=n;i++){
28         memset(used,0,sizeof(used));
29         if(check(i))ans++;
30     }
31     printf("%d",ans);
32 }

 

以上是关于二分图匹配笔记的主要内容,如果未能解决你的问题,请参考以下文章

算法笔记_139:二分图的最大权分配(Java)

Day2二分图笔记

二分图匹配入门专题1I - Hiding Gold light oj 1152二分图匹配-------------------我是终于不那么水的水题分割线------------------(代码片

二分图

二分图匹配(模板)

HDU 2236 无题II(二分图匹配+二分)