尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

P3386 【模板】二分图最大匹配 (匈牙利算法)
📅 发布时间:2026/6/20 2:26:17

题目描述

给定一个二分图,其左部点的个数为 \(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;
}

相关新闻

  • 2025水力抽水泵厂家TOP5权威推荐:可靠的自动抽水泵厂家
  • SQL大表关联优化全攻略 - 指南
  • 2025年东北大豆种业十大靠谱品牌推荐:天豆种业可靠吗?

最新新闻

  • ​2026 年临沂红胡桃木全屋定制工厂深度解析:六家口碑厂家详评与优选指南 - 新闻快传
  • 2026广州白蚁消杀所VS青林、匿名实测,设备与技术代际差距 - 博客万
  • 哈尔滨旅游必打卡清真美食店排行 实测口碑Top5 - 起跑123
  • GLM-5.2 强到能冒充 Claude:架构师视角拆解国产开源模型战力
  • 2026南京奢品私密交易白皮书,一对一交割,严防隐私泄露 - 讯息早知道
  • 嵌入式GUI图像优化:从位图转换到性能调优的完整指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号