HDU 2063 过山车+poj 1469
//这是一个非常简单的匹配。其实满感觉这种算法讲道理是可以想到。
//但是我们这种弱就只能先学了匈牙利算法,然后随便嗨这种题目了。没事结果都一样。
//这就是匹配算法的DFS形式,有一个BFS形式的,说是适用于稀疏二分图,但是时间复杂度还是(n*m)。。。
//也不是很懂DFS和BFS版有什么差,但是真的有差别,那就上HK算法了,时间复杂度(sqrt(n)*m);
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <math.h>
#include <queue>
#include <stack>
using namespace std;
#define INF 0x3f3f3f
#define pi acos(-1.0)
#define LL long long
#define N 550
int ma[N][N];
int cx[N],cy[N];
int vis[N];
int k,m,n;
int fuck(int u)
{
for(int i=1; i<=m; i++)
{
if(!vis[i]&&ma[u][i])
{
vis[i]=1;
if(cy[i]==-1||fuck(cy[i]))
{
cy[i]=u;
return 1;
}
}
}
return 0;
}
int main()
{
while(~scanf("%d",&k)&&k)
{
int a,b;
scanf("%d%d",&n,&m);
memset(ma,0,sizeof(ma));
for(int i=0; i<k; i++)
{
scanf("%d%d",&a,&b);
ma[a][b]=1;
}
memset(cy,-1,sizeof(cy));
int ans=0;
for(int i=1; i<=n; i++)
{
memset(vis,0,sizeof(vis));
if(fuck(i))
{
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}
poj1469
题意:p门课,n个人,问你能不能刚好匹配;
#include<cstdio>
#include<string.h>
#include<iostream>
using namespace std;
typedef long long LL;
#define N 300
int nx,ny;
int bmap[N][N];
bool bmask[N];
int cx[N];
int cy[N];
int p,n;
int findpath(int u)
{
int i;
for(int i=1;i<=n;i++)
{
if(bmap[u][i]&&!bmask[i])
{
bmask[i]=1;
if(cy[i]==-1||findpath(cy[i]))
{
cy[i]=u;
cx[u]=i;
return 1;
}
}
}
return 0;
}
int Maxmatch()
{
int res=0;
int i,j;
memset(cx,-1,sizeof(cx));
memset(cy,-1,sizeof(cy));
for(i=1;i<=p;i++)
{
if(cx[i]==-1)
{
memset(bmask,0,sizeof(bmask));
res+=findpath(i);
}
}
return res;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&p,&n);
int m;
memset(bmap,0,sizeof(bmap));
for(int i=1;i<=p;i++)
{
int num,k;
scanf("%d",&num);
for(int j=1;j<=num;j++)
{
scanf("%d",&k);
bmap[i][k]=1;
}
}
int ans=Maxmatch();
if(ans==p)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
HDU 2063 过山车+poj 1469的更多相关文章
- hdu 2063 过山车(匈牙利算法模板)
http://acm.hdu.edu.cn/showproblem.php?pid=2063 过山车 Time Limit: 1000/1000 MS (Java/Others) Memory ...
- hdu 2063 过山车 二分匹配(匈牙利算法)
简单题hdu2063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063 过山车 Time Limit: 1000/1000 MS (Java/Ot ...
- hdu 2063 过山车(模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063 过山车 Time Limit: 1000/1000 MS (Java/Others) Me ...
- HDU 2063 过山车 第一道最大二分匹配
http://acm.hdu.edu.cn/showproblem.php?pid=2063 题目大意: m个女生和n个男生一起做过山车,每一排必须一男一女,而每个女孩愿意和一些男生坐一起,, 你要找 ...
- HDU 2063 过山车 (匈牙利算法)
题目链接:HDU 2063 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩 ...
- HDU 2063 过山车(二分图 && 匈牙利 && 最小点覆盖)
嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063 这是一道很经典的匈牙利问题: 把男同学看成左边点,女同学看成右边点,如果两个同学愿意同 ...
- [ACM] HDU 2063 过山车 (二分图,匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- hdu 2063 过山车【匈牙利算法】(经典)
<题目链接> RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partne ...
- HDU 2063 过山车(匈牙利算法)
过山车 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissio ...
随机推荐
- C# Backgroundworker(后台线程)的使用
namespace BackgroundWorkderPauseSample { public partial class MainForm : Form { BackgroundWorker wor ...
- 一个简单的QQ隐藏图生成算法 通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传
一个简单的QQ隐藏图生成算法 隐藏图不是什么新鲜的东西,具体表现在大部分社交软件中,预览图看到的是一张图,而点开后看到的又是另一张图.虽然很早就看到过这类图片,但是一直没有仔细研究过它的原理,今天 ...
- ssh命令、ping命令、traceroute 命令所使用的协议
在Node reboot or eviction: How to check if yourprivate interconnect CRS can transmit network heartbea ...
- C++中的getopt的用法
getopt的用法 getopt被用来解析命令行选项参数.就不用自己写东东处理argv了. 点击(此处)折叠或打开 #include <unistd.h> extern char *opt ...
- Java 复杂excel报表导出
MyExcel,是一个可直接使用Html文件,或者使用内置的Freemarker.Groovy.Beetl等模板引擎Excel构建器生成的Html文件,以Html文件中的Table作为Excel模板来 ...
- Intellij IDEA debug jar包
打成jar包 mvn clean install -Dmaven.test.skip=true jar包保存在target目录下 启动jar Terminal控制台执行下面的命令,启动jar java ...
- 事件序列化器 Flume 的无数据丢失保证,Channel 和事务
小结: 1.Flume 的持久性保证依赖于使用的持久性Channel 的保证 通过事件序列化器将Flume事件转化为外部存储格式 主要的事件序列化器: 1.文本 2.带有头信息的文本 3.Avro序列 ...
- Designing a RESTful API with Python and Flask 201
rest服务器的搭建 - CSDN博客 http://blog.csdn.net/zhanghaotian2011/article/details/8760794 REST的架构设计 REST(Rep ...
- CodeForces 24D Broken robot(期望+高斯消元)
CodeForces 24D Broken robot 大致题意:你有一个n行m列的矩形板,有一个机器人在开始在第i行第j列,它每一步会随机从可以选择的方案里任选一个(向下走一格,向左走一格,向右走一 ...
- VC实现趋势图绘制
本文参考pudn上一个完整工程,在pudn搜索“50815867CurveDrawing”即可找到源代码. 上图是使用VS2010重写了该软件后的效果图,下面再贴出关键代码: // Plot.cp ...