首页 匈牙利算法

匈牙利算法

举报
开通vip

匈牙利算法匈牙利算法 以下转载自 北大BBS ACM版 第216篇文章~ 匈牙利算法,在ftp上“算法整理”看到的 自己写过几次,也看过一些别人实现的 觉得这一段比较简短清晰,容易套用,适合做模板 套着做了一下 1043 What's in a name 和 1087 A Plug for Unix 效率也还好 int Bipartite(bool vc [][MAX],int nv1,int nv2) { int i, j, x, n; int q[MAX], prev[MAX], qs, qe; int...

匈牙利算法
匈牙利算法 以下转载自 北大BBS ACM版 第216篇文章~ 匈牙利算法,在ftp上“算法整理”看到的 自己写过几次,也看过一些别人实现的 觉得这一段比较简短清晰,容易套用,适合做 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 套着做了一下 1043 What's in a name 和 1087 A Plug for Unix 效率也还好 int Bipartite(bool vc [][MAX],int nv1,int nv2) { int i, j, x, n; int q[MAX], prev[MAX], qs, qe; int vm1[MAX], vm2[MAX]; n = 0; for( i = 0; i < nv1; i++) vm1[i] = -1; for( i = 0; i < nv2; i++) vm2[i] = -1; for( i = 0; i < nv1; i++) { for( j = 0; j < nv2; j++) prev[j] = -2; qs = qe = 0; for( j = 0; j < nv2; j++) if( vc[i][j]) { prev[j] = -1; q[qe++] = j; } while( qs < qe) { x = q[qs]; if( vm2[x] == -1) break; qs++; for( j = 0; j < nv2; j++) if( prev[j] == -2 && vc[vm2[x]][j]) { prev[j] = x; q[qe++] = j; } } if( qs == qe) continue; while( prev[x] > -1) { vm1[vm2[prev[x]]] = x; vm2[x] = vm2[prev[x]]; x = prev[x]; } vm2[x] = i; vm1[i] = x; n++; } return n; } 补充(By Cy) 本人感觉看懂2分图似乎不是一件很容易的事情~ 但是有了例程,做起题来,方便多了~ 不 过,最好还是自己能够搞懂~ 这样,如果稍微变换一下~ 改起来也容易. 试着用这个例程 做了一下: ZJU上的 1137 (Girls and Boys) 和 1140(Courses) 都很 容易的过了~ 效率确实不错~ 而且值得注意的是. 这个是一届ACM的2道题. 也就是说: 那次的ACM(Southeastern Europe 2000) 8道中2道用到了 2分图. 以自己的经验来说: 去年的ACM分区,也遇到了2分图的问题. 但是,由于水平不够,没能做出~ 以往在中国的赛 区,2分图的题也出现过~ 值得引起注意~
本文档为【匈牙利算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_511210
暂无简介~
格式:doc
大小:13KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-09-26
浏览量:18