hdu2063(最大权匹配匈牙利算法模板)
来源:互联网 发布:tts软件 编辑:程序博客网 时间:2024/05/22 10:57
题意:
有m个女生和n个男生,k个可以建立关系。一个女生只能和一个男生建立关系,求最大的关系数。
思路:
二分图最大匹配,匈牙利算法枚举男生来找增广路,如果能找到,匹配数加一。
代码:
#include <bits/stdc++.h>using namespace std;const int maxn = 505;vector<int> g[maxn];int link[maxn],vis[maxn];int k,n,m;bool dfs(int u){ for(int i=0;i<g[u].size();i++) { int v = g[u][i]; if(!vis[v]) { vis[v] = 1; if(link[v]==-1||dfs(link[v])) { link[v] = u; return true; } } } return false;}int main(){ while(~scanf("%d",&k)&&k) { scanf("%d%d",&m,&n); for(int i = 1;i<=n;i++) { g[i].clear(); } memset(link,-1,sizeof(link)); for(int i = 0;i<k;i++) { int u,v; scanf("%d%d",&u,&v); g[v].push_back(u); } int ans = 0; for(int i = 1;i<=n;i++) { memset(vis,0,sizeof(vis)); if(dfs(i)) ans++; } printf("%d\n",ans); } return 0;}
阅读全文
0 0
- hdu2063(最大权匹配匈牙利算法模板)
- hdu2063(二分图匹配 匈牙利算法模板题)
- hdu2063(最大匹配+匈牙利算法)
- 二分图最大权匹配算法模板
- Kuhn_Munkres最大权匹配算法C++模板
- 二分匹配总结(匈牙利算法+最大权+最小权)
- 二分匹配总结(匈牙利算法+最大权+最小权)
- hdu2063 过山车 (匈牙利算法 二分匹配)
- hdu2063 过山车 二分匹配 匈牙利算法
- hdu2063 最大匹配数(匈牙利算法)
- hdu2063[过山车] 二分图匹配 匈牙利算法
- hdu2063二分图(匈牙利算法模板)
- 最大权二分匹配—KM算法入门 && 模板
- hdu 2255 二分图最大权匹配 km算法模板
- 【二分图最大权匹配】【KM算法模板】
- 二分图最大权匹配--KM算法模板
- KM算法模板(二分图的最大权匹配)
- HDU2063(匈牙利算法)
- SpringBoot集成MyBatis(主要用来方便的进行自定义一些sql查询,主要的简单的数据库操作还是依赖于自身提供的JPA)
- 不会玩Linux系统怎么找女朋友?
- css怎么让div动起来,实现动画效果一直在动
- C语言malloc和free
- 【NOIP】时间将尽の模板集合
- hdu2063(最大权匹配匈牙利算法模板)
- Longest Substring Without Repeating Characters
- Centos 下安装redmine
- 【CS 1380】没有上司的舞会(树形dp+dfs)
- 《深入理解linux静态库与动态库》
- 2017年南宁网络赛 L 题 【最长非递减序列 + 思维】
- c++ 合并两个无序顺序表使其仍无序
- 奶牛送苹果
- JSON入门Java篇-2-JSON数据类型