https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/E

【题意】

裸的最大匹配

【教训】

一开始边数开了k,建的是无向图,结果T了,改成2*k就A了

其实如果add(u,v+n)可以用无向图(注意边数)也可以用有向图。

如果add(u,v)只能用有向图,只从左边找右边。

【Accepted】

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<string>
 5 #include<cmath>
 6 #include<algorithm>
 7 #include<queue>
 8 using namespace std;
 9 int k,n,m;
10 const int maxn=1e3+3;
11 const int maxm=1e3+3;
12 struct edge
13 {
14     int to;
15     int nxt;
16 }e[maxm];
17 int tot;
18 int head[maxn];
19 bool vis[maxn];
20 int link[maxn];
21 void init()
22 {
23     tot=0;
24     memset(head,-1,sizeof(head));
25     memset(link,-1,sizeof(link));
26 }
27 void add(int u,int v)
28 {
29     e[tot].to=v;
30     e[tot].nxt=head[u];
31     head[u]=tot++;
32 }
33
34 bool find(int u)
35 {
36     for(int i=head[u];i!=-1;i=e[i].nxt)
37     {
38         int v=e[i].to;
39         //cout<<v<<endl;
40         if(!vis[v])
41         {
42             vis[v]=true;
43             if(link[v]==-1||find(link[v]))
44             {
45                 link[v]=u;
46                 return true;
47             }
48         }
49     }
50     return false;
51 }
52 int main()
53 {
54     while(~scanf("%d",&k))
55     {
56         if(k==0)
57         {
58             break;
59         }
60         init();
61         scanf("%d%d",&n,&m);
62         while(k--)
63         {
64             int u,v;
65             scanf("%d%d",&u,&v);
66             add(u,n+v);
67         //    add(n+v,u);
68         }
69         int ans=0;
70         for(int i=1;i<=n+m;i++)
71         {
72             memset(vis,false,sizeof(vis));
73             if(find(i))
74             {
75                 ans++;
76             }
77         }
78                 //cout<<ans/2<<endl;
79         cout<<ans<<endl;
80     }
81     return 0;
82 }

View Code

转载于:https://www.cnblogs.com/itcsl/p/7191355.html

【二分图匹配】E. 过山车相关推荐

  1. HDU 2063 过山车 二分图匹配 匈牙利算法

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. HDU2063-过山车[Hopcroft-Carp]二分图匹配

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  3. HDU 2063 过山车 (二分图匹配之匈牙利算法)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. 过山车(二分图匹配)

    RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐.但是,每个女孩 ...

  5. 【二分图最大匹配】【HDU2063】过山车

    [科普]什么是BestCoder?如何参加? 过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  6. 匈牙利二分图最大匹配——过山车(hdu2063)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2063 题目描述: RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是, ...

  7. hdu2063过山车(二分图最大匹配)

    过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...

  8. 杭电2063--过山车(二分匹配)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  9. HDU 2063 过山车【二分图最大匹配】

    Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生 ...

  10. [HDU - 2063] 过山车(二分图)

    Link:http://acm.hdu.edu.cn/showproblem.php?pid=2063 过山车 Time Limit: 1000/1000 MS (Java/Others)    Me ...

最新文章

  1. Linux环境中Visual Studio Code的配置使用----编译运行C/C++(良心教程)
  2. currentThread的一个复杂案例
  3. SQL Server 分布式数据库的问题和解决方法
  4. SQL Server2008导入导出数据库
  5. mybatis insert 动态生成插入的列及插入的值
  6. 【机器学习】K-Means(非监督学习)学习及实例使用其将图片压缩
  7. Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
  8. ASP.NET版在线客服系统源码 带服务端
  9. 【FPGA】——UART串口通信
  10. 一行Python代码计算两点间曼哈顿距离
  11. mysql索引简单介绍
  12. blender 中文手册 Blender从入门到精通
  13. RuntimeError: ./xxx.pth is a zip archive (did you mean to use torch.jit.load()?)
  14. 国科大模式识别与机器学习课程整理
  15. 世界你好python_Python基础01之“你好世界”
  16. 【SQL Server学习笔记】12:用SQL创建和扩大数据库空间
  17. Python——爬取单章小说内容
  18. 海森堡模型自洽平均场解
  19. 计算机打印状态错误,打印机开始打印就显示错误怎么办?
  20. c语言程序设计作业电话簿,C语言设计简易电话簿

热门文章

  1. 9-Shell的逻辑操作符知识介绍-实践及企业案例脚本剖析
  2. 用OpenGL进行立方体表面纹理贴图
  3. python 基础语法梳理
  4. 实操指南|数据分析遇上餐饮业
  5. Unity游戏画面品质增强,shader和贴图
  6. oracle下载地址
  7. Perl面向对象编程
  8. Hibernate查询 内连接和外连接区别
  9. 排序----在线性时间内排序
  10. [Java] ActionEvent 事件处理