二分图最大匹配 pascal
来源:互联网 发布:淘宝手机营销中心 编辑:程序博客网 时间:2024/05/17 18:13
二分图最大匹配。
去年这时候学过,学得很模糊,今年重温。
先给出一些定义:
二分图:
二分图匹配:
二分图最大匹配:在图G的所有二分图匹配中包含边数最多的一个匹配就是二分图最大匹配。
增广路:
找二分图的最大匹配,最朴素的算法自然是dfs枚举。这当然会超时的。
所以就要用高级的算法,于是有了匈牙利算法。
个人觉得本质上还是枚举。只是因为引入了“增广路”的概念,所以枚举快了很多。
算法轮廓:
(1)置匹配M为空
(2)找出一条增广路径P,通过取反操作获得更大的匹配M’代替M
(3)重复(2)操作直到找不出增广路径为止
上述第二步是关键。为了达到“通过取反操作获得更大的匹配M’代替M”,只能通过枚举边来扩充增广路。用边来扩充增广路,自然有3种情况。
1)边的两个端点在这条增广路上。那么这条边肯定无法扩充增广路。
2)边的没有端点在这条增广路上。那么直接把这条边加到增广路中,增广路长度+2。
3)边的一个端点在这条增广路上。这个就比较麻烦了,可能整个增广路都要发生改变要通过递归来求解。
在程序实践时,又有了不同。程序中并没有很明显的“增广路”,更没有取反。
var
procedure init;
var
begin
end;
function find(x:longint):boolean;
var
begin
end;
procedure main;
var
begin
end;
begin
end.
上面只是我的一些个人简介,不一定对。
对于匈牙利算法,考得时候难点主要在建图,算法本身还是背下来比较好。
因为本来代码也不是很长,如果考试时现推得不偿失。
- 二分图最大匹配 pascal
- 【二分图匹配】宫廷守卫 PASCAL
- 二分图最大匹配 建图
- ACM: 二分图最大匹配 hdu 2063
- ACM: 二分图最大匹配 图论题 poj 2…
- 二分图最大匹配
- 二分图最大匹配 。
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图 最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- 二分图最大匹配
- pascal中的定义方法
- Noip2012参赛总结
- noip2012提高组复赛 解题报告
- 程序设计冬令营之算法二
- 对拍方法 pascal
- 二分图最大匹配 pascal
- 【二分图最大匹配】寻找代表元&nbs…
- 【二分图匹配】宫廷守卫 PASCAL
- GDKOI 2013 参赛总结
- 考拉 PASCAL 解题报告
- Problem 035——UVa 400 - Unix ls
- 顽猴 PASCAL 解题报告
- C++中,get getline gets 用…
- 【线段树】 POJ 2828 Buy Tickets