当前位置: 首页 > news >正文

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

题目描述

给定一个二分图,其左部点的个数为 \(n\),右部点的个数为 \(m\),边数为 \(e\),求其最大匹配的边数。

左部点从 \(1\)\(n\) 编号,右部点从 \(1\)\(m\) 编号。

输入格式

输入的第一行是三个整数,分别代表 \(n\)\(m\)\(e\)

接下来 \(e\) 行,每行两个整数 \(u, v\),表示存在一条连接左部点 \(u\) 和右部点 \(v\) 的边。

输出格式

输出一行一个整数,代表二分图最大匹配的边数。

输入输出样例 #1

输入 #1

1 1 1
1 1

输出 #1

1

输入输出样例 #2

输入 #2

4 2 7
3 1
1 2
3 2
1 1
4 2
4 1
1 1

输出 #2

2

说明/提示

数据规模与约定

对于全部的测试点,保证:

  • \(1 \leq n, m \leq 500\)
  • \(1 \leq e \leq 5 \times 10^4\)
  • \(1 \leq u \leq n\)\(1 \leq v \leq m\)

不保证给出的图没有重边

思路

思路很简单,暴力的匹配每种可能,如果匹配的对象匹配过了,则回溯看匹配的对象的对象是否能匹配其他还没匹配过的对象,如果可行就更换对象,不过不可行,则继续遍历可以匹配的其他对象。

题解

时间复杂度 \(O(nm)\)

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
typedef long long ll;
int n,m,et;
int vis[N];
int match[N];
vector<int>e[N]; 
int ans = 0;bool dfs(int u)
{for(auto v:e[u]){if(vis[v]){continue;}vis[v]=true;if(!match[v]||dfs(match[v])){match[v] = u;return 1;}}return 0;
}void solve()
{cin>>n>>m>>et;for(int i=1;i<=et;i++){int u,v;cin>>u>>v;e[u].push_back(v);}    for(int i=1;i<=n;i++){memset(vis,0,sizeof(vis));if(dfs(i))ans++;}cout<<ans<<endl;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t=1;// cin>>t;while(t--){solve();}return 0;
}
http://www.jsqmd.com/news/56075/

相关文章:

  • 2025水力抽水泵厂家TOP5权威推荐:可靠的自动抽水泵厂家
  • 2025年权豆3号相关种业企业推荐,权豆3号产量提升、改良品
  • AI元人文构想:算法规制——悬荡悟空机制的深度解读
  • 04.谓词逻辑
  • 2025年中国水力水轮泵厂家排名:水轮泵配件有哪些厂家?
  • 2025大豆种子企业TOP5权威推荐:耐旱、水田适配种子全测
  • JavaEE初阶,网络编程篇 - 详解
  • LangGraph:add_conditional_edges详解
  • 【超音速专利 CN118134841A】一种光伏产品缺陷检测AI深度学习算法 - 教程
  • 2025年中国水轮泵十大品牌推荐:水轮泵哪家性价比高
  • 2025东北优良大豆种子TOP5权威推荐:甄选优质品种助力农
  • SQL大表关联优化全攻略 - 指南
  • C# 金字塔体积计算程序(Program for volume of Pyramid) - 教程
  • 2025年全国水轮泵设备企业综合评价:永州市冷水滩华立水力机
  • 2025年东北大豆种业十大靠谱品牌推荐:天豆种业可靠吗?
  • 2025年十大GEO推广优化专业公司排行榜,新测评精选推荐
  • P10467 [CCC 2007] Snowflake Snow Snowflakes 题解
  • VSCode 常用快捷键/命令大全
  • 从Hello World到“能做简单计算”,吃透基础语法
  • 2025年度芯硅谷售后完善度及市场口碑TOP5排行榜:五大实
  • P8023 [ONTAK2015] Tasowanie 题解
  • Swift项目生成Framework流程以及与OC的区别 - 详解
  • 2025年十大广东机械设备源头厂家排行榜,新测评精选源头制造
  • 我可以加入少女粤队吗?
  • 2025年GEO推广优化企业排名:专业GEO推广优化公司推荐
  • 2025年发表刊物哪家好?五大靠谱发表服务公司推荐,中赢文化
  • 基于MATLAB的二自由度机械臂PD控制
  • 毕业生找工作TOP5权威推荐:精准破局求职困境,助力毕业生高
  • 线上遇到的redis和数据库数据未同步问题、redisson内部实现问题
  • 提升开发效率的关键:Python 在工程应用中的五大实战技巧