bzoj1191(最大匹配,但不完全一样)
来源:互联网 发布:软件开发经费预算 编辑:程序博客网 时间:2024/06/01 07:50
因为要求连续,所以只要到一个位置不能扩展出增广路时,就直接返回答案就行
并且由此得出一个匈牙利算法的性质:
在遍历过程中,只要已经遍历过的节点能扩展出增广路,那么在之后的扩展中,他也一定在匹配的节点集 中,但是二分图另一个节点集则可能会出现变化
#include<cstdio>#include<algorithm>#include<cstdlib>#include<cmath>#include<cstring>using namespace std;int n,m,a[1009][2],match[1009];bool use[1009];bool dfs(int i){if (use[i]) return false;use[i]=true;int j=a[i][0];if (!match[j]||dfs(match[j])){match[j]=i;return true;}j=a[i][1];if (!match[j]||dfs(match[j])){match[j]=i;return true;}return false;}int work(){int ans=0;for (int i=1;i<=m;i++){memset(use,false,sizeof(use));if (dfs(i)) ans++;else return ans;//这个return不一样!!!}return ans;}int main(){scanf("%d%d",&n,&m);memset(match,0,sizeof(match));for (int i=1;i<=m;i++) scanf("%d%d",&a[i][0],&a[i][1]);printf("%d",work());return 0;}
0 0
- bzoj1191(最大匹配,但不完全一样)
- bzoj1191 [HNOI2006]超级英雄Hero(二分图最大匹配)
- BZOJ1191(二分图匹配)
- BZOJ1191(HNOI2006)[超级英雄Hero]--二分图最大匹配
- [BZOJ1191][HNOI2006]超级英雄Hero(二分图匹配)
- bzoj1191: [HNOI2006]超级英雄Hero(二分图匹配)
- BZOJ1191
- bzoj1191
- [BZOJ1191]HNOI2006 Hero |二分图匹配
- 【bzoj1191】【NHOI2006】【超级英雄】【二分图匹配】
- [bzoj1191][二分图匹配]超级英雄Hero
- bzoj1191 超级英雄Hero[二分图匹配]
- 不完全拼音模糊匹配
- 不完全拼音模糊匹配
- [BZOJ1191][HNOI2006][二分图匹配][匈牙利算法]超级英雄hero
- bzoj1191: [HNOI2006]超级英雄Hero 裸二分匹配
- 【bzoj1191】 HNOI2006超级英雄Hero 二分图匹配
- 【BZOJ1191】[HNOI2006]超级英雄Hero【二分图匹配】
- 关于结婚
- Emacs入门笔记
- 《剑指offer》:[48]不能被继承的类-单例模式
- 使用 ResultSet 遍历查询结果String getString(int columnIndex)
- 翻转课堂心得
- bzoj1191(最大匹配,但不完全一样)
- <JAVA学习笔记6>——程序死锁、中断
- nginx之keepalive请求长连接复用率统计
- C语言基础 swtich结构中变量是字符,case的形式
- 观察者模式下的搜索引擎结合浏览器的完美实现
- JZOJ2756. 【SDOI2012】Longge的问题
- 218 .The Skyline Problem
- Python 包管理工具解惑
- 23. Merge k Sorted Lists 合并K个有序链表