小白菜OJ 1122 公牛母牛配(最大二分图匹配模板)
2024-08-30 15:24:05
题意:
n只公牛和m只母牛,
某些公牛和某些母牛互相喜欢。
但最后一只公牛只能和一只母牛建立一对一匹配。
要使得最后牛群匹配对数最大。
链接:
http://caioj.cn/problem.php?id=1122
#include <bits/stdc++.h>
using namespace std;
const int maxN = 1e5 + ;
vector<int> G[maxN];
int match[maxN];
int vis[maxN];
int n, m, sum;
int dfs(int u) { for(int i = ; i < G[u].size(); i++) {
int v = G[u][i];
//有路而且没被访问
if(!vis[v]) {
vis[v] = ;//标记点i已经访问过 //如果点i未被配对或者找到了新的配对
if(match[v] == || dfs(match[v])) {
//更新配对关系
match[v] = u;
match[u] = v;
return ;
}
}
}
return ;
} int main() {
// freopen("1.txt","r", stdin);
scanf("%d %*d %d", &n, &m);
for(int i = ; i < m; i++) {
int u, v;
scanf("%d %d", &u, &v);
v += ;
G[u].push_back(v);
G[v].push_back(u);
} memset(match, , sizeof(match)); for(int i = ; i <= n; i++){
memset(vis, , sizeof(vis));
if(dfs(i)) {
sum++;
}
}
printf("%d\n", sum); }
最新文章
- 集群CLUSTER种类介绍
- HTML5 WebSocket
- bzoj2243: [SDOI2011]染色--线段树+树链剖分
- xp系统打开软件程序总是弹出警告窗口,很烦人对不,怎么办呢?进来看
- JavaScript复习笔记——字符串
- Google的IP地址一览表,加上代理服务器
- Android中去掉标题栏的3种方法
- webkit.net使用方法日记
- C++拾遗(九)类与动态内存分配(1)
- org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named &#39;springSessionRepositoryFilter&#39; is defined
- 升级automake和autoconf
- maven overlays 合并多个war
- 【NOI2002】银河英雄传说(并查集)
- JBOSSAS 5.x/6.x 反序列化命令执行漏洞(CVE-2017-12149)
- [JDK8]读写锁的改进:StampedLock
- codeforces#1090 D. New Year and the Permutation Concatenation(打表找规律)
- GitHub:Awesome-Hacking(黑客技能列表-恶意代码)
- spring中的IOC/DI的知识点
- Unity3D工程全资源自动检测系统
- ReentrantLock 使用
热门文章
- __slots__ 和 @property
- synchronized(6)修饰语方法之:static方法
- h5-19-文件操作-文件域
- 转 Oracle中merge into的使用
- Vijos p1688 病毒传递 树形DP
- AJPFX关于java中的方法
- 复位电路设计&mdash;&mdash;利用PLL锁定信号(lock)产生复位信号
- java实现斐波那契的两种方法
- std::map插入已存在的key时,key对应的内容不会被更新
- python3 进程与线程