题意:

就是尽可能的选多的课

思路:

把课程和上课的时间看作二分图

跑一跑二分匹配就好了

#include<iostream>
#include<cstdio>
#include<string.h>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
#define N 350 int cos[10][20];
int ma[N][N];
bool vis[N];
int n;
int cx[N];
int cy[N];
int cnt; //建立课程时间的图
void init()
{
cnt=1;
for(int i=1;i<=7;i++)
{
for(int j=1;j<=12;j++)
{
cos[i][j]=cnt++;
}
}
} int findpath(int u)
{
for(int i=1;i<cnt;i++)
{
if(!vis[i]&&ma[u][i])
{
vis[i]=1;
if(cy[i]==-1||findpath(cy[i]))
{
cy[i]=u;
cx[u]=i;
return 1;
}
}
}
return 0;
} int main()
{
init();
while(~scanf("%d",&n))
{
memset(ma,0,sizeof(ma)); for(int i=1;i<=n;i++)
{
int x,a,b;
scanf("%d",&x);
for(int j=1;j<=x;j++)
{
scanf("%d%d",&a,&b);
ma[i][cos[a][b]]=1;
}
}
memset(cx,-1,sizeof(cx));
memset(cy,-1,sizeof(cy)); int ans=0;
for(int i=1;i<=n;i++)
{
if(cx[i]==-1)
{
memset(vis,0,sizeof(vis));
ans+=findpath(i);
}
}
printf("%d\n",ans);
}
return 0;
}

题意:

(二分匹配基础题)

每个奶牛有自己喜欢去的谷仓,然后问最多有多少奶牛到了自己喜欢的谷仓;

思路:

把牛和谷仓作为二分图,跑一下匈牙利

#include<iostream>
#include<cstdio>
#include<math.h>
#include<stdlib.h>
#include<vector>
#include<string.h>
#include<algorithm>
using namespace std;
typedef long long LL;
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 210 int cx[250];
int cy[250];
bool vis[250];
int ma[250][250];
int n,m; int fun(int x)
{
for(int i=1;i<=m;i++)
{
if(!vis[i]&&ma[x][i])
{
vis[i]=1;
if(cy[i]==-1||fun(cy[i]))
{
cx[x]=i;
cy[i]=x;
return 1;
}
}
}
return 0;
} int main()
{
while(~scanf("%d%d",&n,&m))
{
int si;
memset(ma,0,sizeof(ma));
for(int i=1;i<=n;i++)
{
scanf("%d",&si);
for(int j=1;j<=si;j++)
{
int x;
scanf("%d",&x);
ma[i][x]=1;
}
}
int ans=0;
memset(cx,-1,sizeof(cx));
memset(cy,-1,sizeof(cy));
for(int i=1;i<=n;i++)
{
if(cx[i]==-1)
{
memset(vis,0,sizeof(vis));
if(fun(i))
{
ans++;
}
}
}
printf("%d\n",ans);
}
return 0;
}

poj2239 poj1274【二分匹配】的更多相关文章

  1. poj1274 二分匹配

    今天复习二分匹配,A 了一道模板题. 二分匹配需要理解增广路的寻找.用dfs来更新最大匹配.注意一些点:赋初值:愚蠢地把==写成了= ; 然后match的记值;每个点都要重新走一遍. #include ...

  2. POJ2239简单二分匹配

    题意:       一周有7天,每天可以上12节课,现在给你每科课的上课时间,问你一周最多可以上几科课,一科课只要上一节就行了. 思路:       简单题目,直接二分就行了,好久没写二分匹配了,练习 ...

  3. POJ 1274 The Perfect Stall、HDU 2063 过山车(最大流做二分匹配)

    The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24081   Accepted: 106 ...

  4. [kuangbin带你飞]专题十 匹配问题 二分匹配部分

    刚回到家 开了二分匹配专题 手握xyl模板 奋力写写写 终于写完了一群模板题 A hdu1045 对这个图进行 行列的重写 给每个位置赋予新的行列 使不能相互打到的位置 拥有不同的行与列 然后左行右列 ...

  5. BZOJ 1189 二分匹配 || 最大流

    1189: [HNOI2007]紧急疏散evacuate Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1155  Solved: 420[Submi ...

  6. Kingdom of Obsession---hdu5943(二分匹配)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5943 题意:给你两个数n, s 然后让你判断是否存在(s+1, s+2, s+3, ... , s+n ...

  7. poj 2060 Taxi Cab Scheme (二分匹配)

    Taxi Cab Scheme Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5710   Accepted: 2393 D ...

  8. [ACM_图论] Sorting Slides(挑选幻灯片,二分匹配,中等)

    Description Professor Clumsey is going to give an important talk this afternoon. Unfortunately, he i ...

  9. [ACM_图论] The Perfect Stall 完美的牛栏(匈牙利算法、最大二分匹配)

    描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们 ...

随机推荐

  1. SolidEdge 如何绘制零件图的剖视图

    1 点击检视-剖面,然后选择剖切面   2 比如要全剖,则绘制好方框之后点返回,选择方向.   选择剖切深度,然后预览即可   一个零件可以进行多次剖切

  2. MAC上Nuclide的安装

    MAC上Nuclide的安装 本文版权归作者全部,如需转载请联系孟祥月 CSDN博客:http://blog.csdn.net/mengxiangyue 独立博客:http://mengxiangyu ...

  3. Table tr 的隔行变色

    <style type="text/css">    table{border-collapse:collapse;border:1px solid #999;} td ...

  4. 中科燕园GIS外包---交通运输综合地理信息平台

      集地图.服务.应用于一身交通运输综合性的GIS门户   交通运输综合地理信息平台,是集地图.服务.应用于一身交通运输综合性的GIS门户.无需复杂的设置和部署,就可以高速创建交互式地图和应用程序,并 ...

  5. Alert提示框之后跳转指定页面

    <li onclick="closes();">BTC</li> alert跳转到指定页面 <script type="text/javas ...

  6. linux下提示command not found

    首先就要考虑root 的$PATH里是否已经包含了这些环境变量. 主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin. 四个主要存放的东东: ./bin: bin为binary ...

  7. POJ 1703 Find them, Catch them(种类并查集)

    题目链接 这种类型的题目以前见过,今天第一次写,具体过程,还要慢慢理解. #include <cstring> #include <cstdio> #include <s ...

  8. 0 lrwxrwxrwx. 1 root root 13 Nov 20 12:44 scala -> scala-2.12.4

    符号链接的文件属性相同,真正的权限属性由符号链接所指向的实际文件决定.

  9. ie9浏览器中h标签的嵌套问题

    ie9中 h1-h6 标签中不能够嵌套h1-h6标签,否则往下看吧. 举个栗子: 我们要实现h1下的两个div实现左右分离,很简单吧? 看看html结构及css吧 <!DOCTYPE html& ...

  10. (linux)SD卡初始化-mmc_sd_init_card函数

      为了学习SD/SDIO协议,看了一下linux中初始化SD卡的流程,结合代码更容易SD初始化是怎么做的. 下面图截自:"SD Specifications Part 1 Physical ...