POJ 3041 匈牙利算法模板题
一开始预习是百度的算法 然后学习了一下
然后找到了学长的ppt 又学习了一下..
发现..居然不一样...
找了模板题试了试..百度的不好用 反正就是wa了..果然还是应当跟着学长混..
图两边的点分别是行数和列数
每有一个点 就让所处行列连一条边
求最小点覆盖
然后卡住...后来看了增林的博客...
最小点覆盖=最大匹配数 果然是模板题..
然后wa..
后来发现是当进行对左边点的遍历的时候 每次都要mem一次vis数组
应该是每次找之前都重新清空啊。。不然下次怎么找啊。。。增光路对点的是否被访问过不是有要求吗 —— 学长原话...
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<math.h>
using namespace std;
int s[505][505];
int vis[505];
int n,m;
int link[505];
bool find(int i)
{
for(int k=1;k<=n;k++)
{
if(s[i][k]==1&&vis[k]==0)
{
vis[k]=-1;
if(link[k]==-1||find(link[k]))
{
link[k]=i;
return true;
}
}
}
return false; }
int main(){
while(~scanf("%d%d",&n,&m))
{
memset(s,0,sizeof(s));
memset(link,-1,sizeof(link));
for(int i=1;i<=m;i++)
{
int a,b;
scanf("%d%d",&a,&b);
s[a][b]=1;
}
int ans=0;
for(int i=1;i<=n;i++)
{
memset(vis,0,sizeof(vis));
if(find(i))
{
ans++;
}
}
printf("%d\n",ans);
}
}
POJ 3041 匈牙利算法模板题的更多相关文章
- poj 1274 The Perfect Stall【匈牙利算法模板题】
The Perfect Stall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20874 Accepted: 942 ...
- POJ 1325 && 1274:Machine Schedule 匈牙利算法模板题
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12976 Accepted: 5529 ...
- POJ 3041 Asteroids(二分图模板题)
Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N g ...
- Asteroids POJ - 3041 匈牙利算法+最小点覆盖König定理
题意: 给出一个N*N的地图N 地图里面有K个障碍 你每次可以选择一条直线 消除这条直线上的所有障碍 (直线只能和列和行平行) 问最少要消除几次 题解: 如果(x,y)上有一个障碍 则把 ...
- 51Nod 飞行员配对(二分图最大匹配)(匈牙利算法模板题)
第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2名飞行员,其中1名是英国飞行员,另1名是外籍飞行员.在众多的飞行员中, ...
- HDU 1083 - Courses - [匈牙利算法模板题]
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1083 Time Limit: 20000/10000 MS (Java/Others) M ...
- 图论---POJ 3660 floyd 算法(模板题)
是一道floyd变形的题目.题目让确定有几个人的位置是确定的,如果一个点有x个点能到达此点,从该点出发能到达y个点,若x+y=n-1,则该点的位置是确定的.用floyd算发出每两个点之间的距离,最后统 ...
- 匈牙利算法模板 hdu 1150 Machine Schedule(二分匹配)
二分图:https://blog.csdn.net/c20180630/article/details/70175814 https://blog.csdn.net/flynn_curry/artic ...
- hdu 2063 过山车 (最大匹配 匈牙利算法模板)
匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名.匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最 ...
随机推荐
- HTML标签自定义属性(转)
HTML标签可以自定义属性 HTML标签可以自定义属性,但是我们要考虑其在IE.Firefox以及chrome下的兼容性问题.例如: <div id="newTest" my ...
- Android实现支持缩放平移图片
本文主要用到了以下知识点 Matrix GestureDetector 能够捕捉到长按.双击 ScaleGestureDetector 用于检测缩放的手势 自由的缩放 需求:当图片加载时,将图片在屏幕 ...
- java 小知识点
1.转Java中Vector和ArrayList的区别 首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存 ...
- MySQL常用的自带函数
MySQL自带函数十分丰富,合理使用可以减少很多编码工作. >>数学函数 数学函数主要用于处理数字,包括整型.浮点数等.数学函数包括绝对值函数.正弦函数.余弦函数.获取随机数的函数等.AB ...
- 在linux上安装psycopg2出错--Error: pg_config executable not found.
这个错误可能是因为缺少PGSQL的相关库吧. 网上有很多解决办法,我最终用以下方式解决: yum install postgresql postgresql-devel python-devel
- hdu 1240:Asteroids!(三维BFS搜索)
Asteroids! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- jquery tab
jquery tab <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...
- 什么是AIDL(转)
跨进程访问的服务称为AIDL(Android Interface Definition Language)服务. AIDL:Android Interface Definition Language, ...
- C#学习笔记(一)——HelloWorld!
一.平台的搭建(IDE) 使用的VS2013,不知道是不是微软--(省略N多字),注册只要简单的KEY,这个我们可以直接度娘一大堆,所以不用担心这个软件安不上去= = 建议使用2013社区版,官方免费 ...
- 下拉更新列表Android-PullToRefresh
项目地址:https://github.com/chrisbanes/Android-PullToRefresh