ural 1109,NYOJ 239,匈牙利算法邻接表
NYOJ 239:http://acm.nyist.net/JudgeOnline/problem.php?pid=239
ural 1109 :http://acm.timus.ru/problem.aspx?space=1&num=1109
NYOJ 月老的难题,是裸的最大匹配,很烦的是邻接阵超时。改用邻接表。
#include <bits/stdc++.h>
using namespace std;
#define maxn 1005 vector <int> G[maxn];
bool use[maxn];
int match[maxn];
int m,n,k; bool dfs(int u)
{
for(int i=;i<G[u].size();i++)
{
if(use[G[u][i]]==false)
{
use[G[u][i]] = true;
if(match[G[u][i]]==-||dfs(match[G[u][i]]))
{
match[G[u][i]] = u;
return true;
}
}
}
return false;
} int main()
{ scanf("%d%d%d",&m,&n,&k);
for(int i=;i<k;i++)
{
int u,v;
scanf("%d%d",&u,&v);
G[u].push_back(v);
}
memset(match,-,sizeof(match));
int ans = ;
for(int i=;i<=m;i++)
{
memset(use,,sizeof(use));
if(dfs(i))
ans ++;
}
printf("%d\n",ans);
//printf("%d\n",m+n-ans);
return ;
}
然后是ural,最小路径覆盖。
题意:
A国家有M个代表,B国有N个代表,其中有K对代表可以进行谈判(一个是A国的,一个是B国的),并且每一个代表至少被包含在其中一对中(也就是说,每个 人可以至少找到另外一个人谈判),每一对谈判需要一对电话联系(一对电话联系数目算1),现在使每个人都能进行电话联系的最少联系数目。
就是求最少对数。每个点都要有边相连,这样的边最少是多少——最小路径覆盖。
首先求一下最大匹配(都是一对一),可能还有没有匹配的人,加上这些人,如案例: 最大匹配2,还有左边2号没有匹配。加上这个人。
得公式:
最小路径覆盖 = n+ m - 2 * ans + ans;
#include <bits/stdc++.h>
using namespace std;
#define maxn 1005 vector <int> G[maxn];
bool use[maxn];
int match[maxn];
int m,n,k; bool dfs(int u)
{
for(int i=;i<G[u].size();i++)
{
if(use[G[u][i]]==false)
{
use[G[u][i]] = true;
if(match[G[u][i]]==-||dfs(match[G[u][i]]))
{
match[G[u][i]] = u;
return true;
}
}
}
return false;
} int main()
{ scanf("%d%d%d",&m,&n,&k);
for(int i=;i<k;i++)
{
int u,v;
scanf("%d%d",&u,&v);
G[u].push_back(v);
}
memset(match,-,sizeof(match));
int ans = ;
for(int i=;i<=m;i++)
{
memset(use,,sizeof(use));
if(dfs(i))
ans ++;
}
printf("%d\n",m+n-ans);
return ;
}
ural 1109,NYOJ 239,匈牙利算法邻接表的更多相关文章
- nyoj 239 月老的难题【匈牙利算法+邻接表】
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福 ...
- hdu 2444 The Accomodation of Students(二分匹配 匈牙利算法 邻接表实现)
The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- 二分图最大匹配|UOJ#78|匈牙利算法|边表|Elena
#78. 二分图最大匹配 从前一个和谐的班级,有 nlnl 个是男生,有 nrnr 个是女生.编号分别为 1,…,nl1,…,nl 和 1,…,nr1,…,nr. 有若干个这样的条件:第 vv 个男生 ...
- poj1273--Drainage Ditches(最大流Edmond-Karp算法 邻接表实现)
最大流模板题 大部分Edmond-Karp算法代码都是邻接矩阵实现,试着改成了邻接表. #include <iostream> #include <cstdio> #inclu ...
- ZSTU OJ 3999 零基础学算法---邻接表
题目:Click here 题意:我就喜欢中文题! 分析:这个题虽然是中文题,但是还是有一点费解的.其实就是给你一棵树,是用图的形式给你的,只知道a,b之间有一条边,并不知道谁是父,谁是子.思路就是先 ...
- prime算法邻接表写法
#include <iostream> #include <queue> using namespace std; typedef struct { long v; long ...
- poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
System Engineer Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 507 Accepted: 217 Des ...
- hdoj 2063 过山车【匈牙利算法+邻接矩阵or邻接表】
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- 图结构练习——判断给定图是否存在合法拓扑序列(dfs算法(第一个代码),邻接矩阵(前两个代码),邻接表(第三个代码))
sdut 2140 图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个有向图 ...
随机推荐
- Lintcode: Segment Tree Query II
For an array, we can build a SegmentTree for it, each node stores an extra attribute count to denote ...
- web 前端:连接mysql中文乱码问题的解决办法
当使用tomcat部署servlet连接时,总是出现各种原因的中文乱码问题.有的是因为mysql的默认字符集的问题,有的是客户端的字符配置问题. 现在对于这两种问题进行配置,来解决乱码. 服务器端(m ...
- C# Enum Type
class Program { public enum TimeOfDay { Morining, Afternoon, Evening } static void Main(string[] arg ...
- Struts2.3+Spring+iBatis 初学之问题判断
小白接下来将会总结下我再学习Spring的学习过程中(ssi框架)中遇到的问题,以后会不断的进行更新. 最容易犯的问题,就是声明bean的时候,属性引用其他声明的bean的时候,name没有进行好对应 ...
- php-wamp滴定仪网站的根目录
1.点击wamp中的Apache中的httpd.conf:如下图修改两处 2.进入wamp的安装目录下:修改这两个文件(目的:修改wamp中网站目录) 内容如下图: 关闭wamp服务:重启wamp
- mybatis(二)执行CRUD操作的两种方式配置和注解
一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...
- ASP.NET MVC4中的bundles特性引发服务器拒绝访问(403错误)
在ASP.NET MVC4中微软引入了bundles特性,这个特性可以将服务器端的多个Javascript或多个css文件捆绑在一起作为一个单一的URL地址供客户端浏览器调用,从而减少了页面上Http ...
- 《HTML5高级程序设计》知识点概要(不涉及详细语法)
不断更新. 说明:主要记录html5中的一些注意点或知识点,尽量不涉及具体语法信息. 一.CANVAS: 检测: try{ document.createElement("canvas&qu ...
- 空格和TAB键混用错误:IndentationError: unindent does not match any outer indentation level
转自:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ [已解决]Python脚本运行出现语法错误: ...
- Java 基本数据类型 sizeof 功能【转】
转自:http://blog.csdn.net/sunboy_2050/article/details/7310008 版权声明:本文为博主原创文章,未经博主允许不得转载. Java基本数据类型int ...