NYOJ239 月老的难题 【二分图最大匹配·匈牙利】
月老的难题
- 描写叙述
-
月老准备给n个女孩与n个男孩牵红线。成就一对对美好的姻缘。
如今,因为一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭。
如今已知哪些男孩与哪些女孩假设结婚的话。能够结成幸福的家庭。月老准备促成尽可能多的幸福家庭,请你帮他找出最多可能促成的幸福家庭数量吧。
如果男孩们分别编号为1~n,女孩们也分别编号为1~n。
- 输入
-
第一行是一个整数T,表示測试数据的组数(1<=T<=400)
每组測试数据的第一行有两个整数n,K。当中男孩的人数与女孩的人数都是n。(n<=500,K<=10 000)
随后的K行。每行有两个整数i,j表示第i个男孩与第j个女孩有可能结成幸福的家庭。(1<=i,j<=n) - 输出
- 对每组測试数据。输出最多可能促成的幸福家庭数量
- 例子输入
-
- 1
- 3 4
- 1 1
- 1 3
- 2 2
- 3 2
- 1
- 例子输出
-
- 2
- 来源
- 经典题目
- 上传者
-
userid=%E5%BC%A0%E4%BA%91%E8%81%AA" style="text-decoration:none; color:rgb(55,119,188)">张云聪
题解:用邻接矩阵TLE,换成链式前向星才过。匈牙利模板题。
- #include <stdio.h>
- #include <string.h>
- #define maxn 505
- #define maxm 10010
- int n, k, id;
- int head[maxn], B[maxn];
- bool vis[maxn];
- struct Node {
- int v, next;
- } E[maxm];
- void addEdge(int u, int v) {
- E[id].v = v; E[id].next = head[u];
- head[u] = id++;
- }
- bool findPath(int x) {
- int i, v;
- for(i = head[x]; i != -1; i = E[i].next) {
- v = E[i].v;
- if(!vis[v]) {
- vis[v] = true;
- if(!B[v] || findPath(B[v])) {
- B[v] = x; return true;
- }
- }
- }
- return false;
- }
- int MaxMatch() {
- int ans = 0;
- for(int i = 1; i <= n; ++i) {
- memset(vis, 0, sizeof(bool) * (n + 1));
- if(findPath(i)) ++ans;
- }
- return ans;
- }
- int main() {
- // freopen("stdin.txt", "r", stdin);
- int t, u, v;
- scanf("%d", &t);
- while(t--) {
- scanf("%d%d", &n, &k);
- memset(head, -1, sizeof(int) * (n + 1));
- memset(B, 0, sizeof(int) * (n + 1));
- id = 0;
- while(k--) {
- scanf("%d%d", &u, &v);
- addEdge(u, v);
- }
- printf("%d\n", MaxMatch());
- }
- return 0;
- }
NYOJ239 月老的难题 【二分图最大匹配·匈牙利】的更多相关文章
- 二分图最大匹配:匈牙利算法的python实现
二分图匹配是很常见的算法问题,一般用匈牙利算法解决二分图最大匹配问题,但是目前网上绝大多数都是C/C++实现版本,没有python版本,于是就用python实现了一下深度优先的匈牙利算法,本文使用的是 ...
- 51nod 2006 飞行员配对(二分图最大匹配) 裸匈牙利算法 求二分图最大匹配题
题目: 题目已经说了是最大二分匹配题, 查了一下最大二分匹配题有两种解法, 匈牙利算法和网络流. 看了一下觉得匈牙利算法更好理解, 然后我照着小红书模板打了一遍就过了. 匈牙利算法:先试着把没用过的左 ...
- "《算法导论》之‘图’":不带权二分图最大匹配(匈牙利算法)
博文“二分图的最大匹配.完美匹配和匈牙利算法”对二分图相关的几个概念讲的特别形象,特别容易理解.本文介绍部分主要摘自此博文. 还有其他可参考博文: 趣写算法系列之--匈牙利算法 用于二分图匹配的匈牙利 ...
- 二分图最大匹配(匈牙利算法)简介& Example hdu 1150 Machine Schedule
二分图匹配(匈牙利算法) 1.一个二分图中的最大匹配数等于这个图中的最小点覆盖数 König定理是一个二分图中很重要的定理,它的意思是,一个二分图中的最大匹配数等于这个图中的最小点覆盖数.如果你还不知 ...
- 【模板】二分图最大匹配(匈牙利算法)/洛谷P3386
题目链接 https://www.luogu.com.cn/problem/P3386 题目大意 给定一个二分图,其左部点的个数为 \(n\),右部点的个数为 \(m\),边数为 \(e\),求其最大 ...
- [hihoCoder] #1122 : 二分图二•二分图最大匹配之匈牙利算法
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上一回我们已经将所有有问题的相亲情况表剔除了,那么接下来要做的就是安排相亲了.因为过年时间并不是很长,所以姑姑希望能够尽可 ...
- 无权二分图最大匹配 HDU2063 匈牙利算法 || Hopcroft-Karp
参考两篇比较好的博客 http://www.renfei.org/blog/bipartite-matching.html http://blog.csdn.net/thundermrbird/art ...
- POJ1469 COURSES 【二分图最大匹配·HK算法】
COURSES Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17777 Accepted: 7007 Descript ...
- 【hihocoder 1122】二分图二•二分图最大匹配之匈牙利算法
[Link]:https://hihocoder.com/problemset/problem/1122 [Description] [Solution] 二分图匹配,匈牙利算法模板题; 这里我先把染 ...
随机推荐
- ADB用法
作为android开发人员,adb是常用的工具之一.具体怎么使用了. 1. 安装完ADB后(ADB的安装请参考<Android开发平台搭建及配置.doc>),用电脑USB连接机器,然后使用 ...
- Discuz上传错误
换了服务器后,上传图片的时候,显示上传100%,然后报错:upload error: 500.怎么回事那? [解决方法] 原来是php上传文件的时候,会首先上传到一个临时目录.如果临时目录没有权限,就 ...
- HAProxy的独门武器:ebtree
1. HAProxy和ebtree简介 HAProxy是法国人Willy Tarreau个人开发的一个开源软件,目标是应对客户端10000以上的同时连接,为后端应用服务器.数据库服务器提供高性能的负载 ...
- linux 硬连接与软连接
1.linux中文件占用一个inode,inode指向文件内容.2.文件名可以认为是一个指针,指向inode.硬连接相当于指针的整体拷贝,并不是对文件内容的拷贝.两个文件名(两个指针)都能修改文件,删 ...
- C#.NET常见问题(FAQ)-VS如何整个项目中查找字符串
Ctrl+F打开查找对话框,然后输入查找字符串,电机右边的小三角,选择整个解决方案,就可以遍历所有文件查找指定字符了 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http:// ...
- 【oracle】dblink创建
目的:oracle中跨数据库查询 两台数据库服务器db_A(本地)和db_B(远程192.168.1.100),db_A下用户user_a 需要访问到db_B下user_b的数据 解决:查询得知使用d ...
- PHP高级教程-邮件
PHP 发送电子邮件 PHP 允许您从脚本直接发送电子邮件. PHP mail() 函数 PHP mail() 函数用于从脚本中发送电子邮件. 语法 mail(to,subject,message,h ...
- TQ2440 LCD试验失败经验教训
试验环境:TQ2440开发板(配套TQ4.3寸屏) 试验参考书目:<ARM处理器裸机开发实战--机制而非策略>(以下简称<裸机开发实战>) <裸机开发实战>第13章 ...
- validationEngine 表单验证插件使用
废话少说,直接上代码,可拷贝直接运行: <!DOCTYPE html> <html lang="zh"> <head> <meta cha ...
- 解决-bash: fork: retry: Resource temporarily unavailable (修改最大线程数)
错误提示的本质是Linux操作系统无法创建更多进程,导致出错.因此要解决这个问题需要修改Linux允许创建更多的进程. 方案一: cat /etc/security/limits.conf echo ...