伪学习总结:匈牙利算法

来源:互联网 发布:淘宝u站今日特惠 编辑:程序博客网 时间:2024/06/02 02:31

首先,关于这个算法的详情见,我这里并不详细讲:
http://blog.csdn.net/dark_scope/article/details/8880547
相信看完这篇大神的博客之后,你对二分图的最大匹配的求法应该有所了解了。
我在这里先放上自己的代码:

char can[M][M];bool hav[M];bool mk[M];int to[M];int n,cnt;bool find(int x){    for(int i=0;i<n;i++){        if(!hav[x][i]||mk[i])continue;        mk[i]=1;//对于在主程序枚举的这一次find(),对一个人寻找多次显然是愚蠢的        if(to[i]==-1||find(to[i])){            to[i]=x;            return 1;        }    }    return 0;}int main(){    mem(to,-1);    for(int i=0;i<n;i++){        mem(mk,0);        cnt+=find(i);    }}

于是…我又发现了这个大神的博客:
http://blog.csdn.net/jokerwyt/article/details/51336560
不管你有没有看懂,反正我看懂了。
(这一个总结是对各路大神博客的总结….)

1 1