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

二分图最大匹配

就是说左边一大堆,右边一大堆。然后呢,做连线,连到最多的就是最大匹配。方法就是,先弄一条匹配,然后加两条不匹配,这样就形成了A-B=C-D其中=是匹配,那么换成A=B-C=D不就是匹配两个了吗,然后继续加线条一直加上,就可以得到最大匹配。在这个具体写法呢,就是便利每一个左边的点,然后每次便利的时候清理visited,如果已经被匹配过的,给他找个其他匹配的,这样就腾出了位置,也就多了个线条,那么就多了个匹配。那么返回true,并且result++。
具体的代码如下:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>using namespace std;vector<vector<int>> adj;
vector<int> visited;
vector<int> match;bool dfs(int u){//对左边能连到右边的都遍历,每访问过的访问,当匹配0或者能找到其他新匹配就把他匹配到我,那就是多了个匹配,因为他匹配了其他的for(int x: adj[u]){if(!visited[x]){visited[x] = true;if(match[x] == 0||dfs(match[x])){match[x] = u;return true;}}}return false;
}int main()
{int n1, n2, m;cin >> n1 >> n2 >> m;adj.resize(n1+1);match.resize(n2+1);visited.resize(n2+1);int a, b;while (m -- ){cin >> a >> b;adj[a].push_back(b);}for (int i = 0; i <= n2; i ++ ){match[i] = 0;visited[i] = 0;}int result = 0;for (int i = 1; i <= n1; i ++ ){//便利每一个,如果有就++,每次dfs之前要重置访问标记,不然就完了for(int j = 1; j<=n2; j++) visited[j] = false;if(dfs(i)){result++;}}cout << result;return 0;
}
http://www.jsqmd.com/news/558378/

相关文章:

  • 【架构革新】BooruDatasetTagManager:重新定义企业级AI数据治理范式
  • 小程序开发实战:太阳码与二维码生成技术解析
  • Java 25正式支持ZGC 2.0仅剩72小时!你还没掌握这8个颠覆性调优参数?
  • 利用AI改写工具,五个策略帮助论文查重率快速降至合规标准
  • spfa
  • 避坑指南:PySide6子窗口传参时容易遇到的5个典型错误(含解决方案)
  • bge-large-zh-v1.5效果展示:中文语义相似度计算案例
  • 3个高效技巧:用RePKG轻松解锁Wallpaper Engine壁纸资源
  • HCIA-AI V3.5华为认证人工智能工程师备考指南:章节重点解析与实战模拟
  • 保姆级教程:在PVE上5分钟搞定一个Ubuntu LXC容器,并配置好Docker环境
  • 互联网产品创新:基于Qwen3-ASR-0.6B的在线教育实时字幕解决方案
  • Z-Image Atelier 智能体(Agent)应用:自主完成多轮图像修改与迭代
  • 阿里云服务器上,用Docker Compose一键部署若依微服务Plus(Ruoyi-Cloud-Plus)的保姆级教程
  • 3分钟快速上手:ComfyUI-WanVideoWrapper视频生成AI终极指南
  • 定积分换元法的核心原则与实战避坑指南
  • YOLOFuse效果实测:低光、烟雾环境下,多模态检测精度提升明显
  • 医疗器械生产许可证厂房建设咨询品牌推荐:新版GMP医疗器械生产许可证代办/无菌医疗器械生产许可证代办/有源器械医疗器械注册/选择指南 - 优质品牌商家
  • PyTorch 2.7镜像开箱即用:小白也能秒懂GPU加速配置
  • 避坑指南:ROS2 Action服务端编译报错undefined reference to ServerBase的5种修复方法
  • YOLOv11赋能卡证检测矫正:新一代目标检测模型实战应用
  • Scarab模组管理器终极指南:空洞骑士模组安装一键搞定
  • 新手必看!用LabVIEW和USB-6008实现正弦波闭环测试(附完整VI源码)
  • 三维向量运算避坑指南:Python中常见的错误与解决方案
  • 阿里Z-Image-ComfyUI商业落地:广告素材中英文混排精准生成
  • AI原生应用行为分析:模型部署最佳实践
  • Keil环境下C与汇编混合编程实战:从参数传递到函数调用
  • Kazumi:解放你的追番体验,打造个性化动漫聚合平台
  • Jimeng AI Studio开源协作:GitHub Discussions社区问答与高频问题沉淀
  • RandLA-Net的‘注意力’怎么用?深入拆解LFA模块,教你用PyTorch复现并可视化特征聚合过程
  • BGE Reranker-v2-m3入门指南:理解归一化分数阈值(0.5)背后的语义区分能力设计逻辑