传送门

模板题。

新技能get:存增广标记的cov数组如果使用int类型就不用每次memset(以前的版本在之前的博文中有过),可以大幅节约时间。

晚安~

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1004;
int n,m,eg;
int head[N<<1],etot=0;
struct EDGE {int v,nxt;
}e[N*N];
int cov[N<<1],lk[N<<1];
inline int read() {int x=0;char c=getchar();while (c<'0'||c>'9') c=getchar();while (c>='0'&&c<='9') x=(x<<3)+(x<<1)+c-'0',c=getchar();return x;
}
inline void adde(int u,int v) {e[etot].nxt=head[u],e[etot].v=v,head[u]=etot++;e[etot].nxt=head[v],e[etot].v=u,head[v]=etot++;
}
bool dfs(int p,int id) {for (int i=head[p];~i;i=e[i].nxt) {int v=e[i].v;if (cov[v]^id) {cov[v]=id;if (lk[v]==-1||dfs(lk[v],id)) {lk[v]=p;return true;}}}return false;
}
int main() {
//  freopen("P3386.in","r",stdin);memset(head,-1,sizeof(head));n=read(),m=read(),eg=read();for (register int i=0;i<eg;++i) {int u=read(),v=read();if (u>n||v>m) continue;adde(u,v+n);}memset(lk,-1,sizeof(lk));int max_match(0);for (int i=1;i<=n;++i)if (dfs(i,i)) ++max_match;cout<<max_match<<endl;return 0;
}

Luogu 3386(二分图最大匹配)相关推荐

  1. Luogu 1402 酒店之王(二分图最大匹配)

    Luogu 1402 酒店之王(二分图最大匹配) Description XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的房间色调.阳光等,也有自 ...

  2. P2071 座位安排(二分图最大匹配)

    P2071 座位安排(二分图最大匹配) 照着模板的套路,只不过座位是可以匹配两个人的,所以开个二维数组即可. 匈牙利常见的优化,vis数组能用bool就用bool,貌似用bitset更快?,建图的话单 ...

  3. 【洛谷】P3386 【模板】二分图最大匹配

    题目地址: https://www.luogu.com.cn/problem/P3386 题目描述: 给定一个二分图,其左部点的个数为nnn,右部点的个数为mmm,边数为eee,求其最大匹配的边数.左 ...

  4. P3386 【模板】二分图最大匹配(匈牙利算法模板)

    题目链接:点击这里 题目大意: 给定一个二分图,其左部点的个数为 nnn ,右部点的个数为 mmm ,边数为 eee ,求其最大匹配的边数. 题目分析: 本题使用的匈牙利算法完成的二分图最大匹配 具体 ...

  5. 匈牙利算法求解二分图最大匹配问题

    这是一个非常简单的问题,描述如下,给你两部分的点,问你最大匹配数是多少. 简单描述一下算法流程,首先我们先匹配左边,蓝1先匹配红2:接下来到蓝2,只能匹配红2,但是这这时候发现红2已经有主了,根据匈牙 ...

  6. 【网络流24题】解题报告:A、飞行员配对方案问题(最大流求二分图最大匹配)

    A.飞行员配对方案问题 (二分图最大匹配)(最大流)[提高+/省选- ] 题目链接 [问题分析] 二分图最大匹配问题. [建模方法] 在二分图的基础上增加源S和汇T. 1.S向X集合中每个顶点连一条容 ...

  7. 【模板】匈牙利算法 二分图最大匹配题模板

    [任务] 给定一个二分图,用匈牙利算法求这个二分图的最大匹配数. [说明] 求最大匹配,那么我们希望每一个在左边的点都尽量找到右边的一个点和它匹配. 我们一次枚举左边的点x的所有出边指向的点y, 若y ...

  8. 51nod 2006 飞行员配对(二分图最大匹配) 裸匈牙利算法 求二分图最大匹配题

    题目: 题目已经说了是最大二分匹配题, 查了一下最大二分匹配题有两种解法, 匈牙利算法和网络流. 看了一下觉得匈牙利算法更好理解, 然后我照着小红书模板打了一遍就过了. 匈牙利算法:先试着把没用过的左 ...

  9. 2021牛客多校3 - Minimum grid(二分图最大匹配-最大流)

    题目链接:点击查看 题目大意:给出一个 n∗nn*nn∗n 的棋盘,其中有 mmm 个位置是需要填数字的位置,每个位置需要填 [0,k][0,k][0,k] 的数字中的其中一个,可以重复,现在给出每一 ...

  10. HDU - 1054 Strategic Game(最小点覆盖-二分图最大匹配)

    题目链接:点击查看 题目大意:给出一棵树,现在要在节点上放置士兵,每个士兵可以监视与其所在的节点直接相连的节点,问最少需要多少个士兵才能将整棵树都监视到 题目分析:求最少的节点,以保证每条边都有一个端 ...

最新文章

  1. Java Web:session
  2. 行业观察:拐点已至!抛弃传统数据库,乘云而上!
  3. 鼠标悬浮标签显示提示内容
  4. Introduction to Chinese natural language processing
  5. 高光谱图像结合机器学习方法无损检测猕猴桃
  6. 4.1 Spark SQL概述
  7. PHP实现手机归属地查询API接口
  8. 漫画:如何实现大整数相乘?
  9. C语言小游戏——贪吃蛇
  10. android horizontalscrollview顶部导航,带有居中效果的HorizontalScrollView使用说明
  11. c语言乘法除法结合律,C语言运算符的优先级和结合律
  12. html 加爱心符号,心形符号大全
  13. 重磅!各省市考研网上确认(现场确认)时间一览
  14. 苹果CMSv10插件/本地解析播放器-videojs解析 整合苹果cmsV10程序
  15. 网易称暴雪离婚不离身;苹果发布 M2 Pro 和 M2 Max 芯片;滴滴出行 App 已重新上架安卓应用商店 | 极客头条
  16. JAVA教程--书的
  17. 安卓开发之样式和主题的使用与夜间/白天模式的动态转换
  18. 解决linux系统网络时常断开的问题
  19. HTML乘法器制作,一种单象限乘法器的制作方法
  20. web端接入微信小程序扫码进行登录

热门文章

  1. radosgw bucket index sharding
  2. 计算机特点及应用领域阐述,计算机图像识别技术的应用及细节问题阐述与分析...
  3. python断网还能用吗_python 断网
  4. 大一计算机word作业朱自清,Word文档打字练习.docx
  5. 从苹果售后到机器学习工程师,我趟过的 AI 坑
  6. 漂亮英文翻译(关于爱的经典句子)
  7. [Swift]LeetCode15. 三数之和 | 3Sum
  8. 如何避免用户“漫天要价”和“就地还钱”
  9. 201803-4 棋局评估
  10. 【计算机视觉】双目测距(二)--双目标定与矫正