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

二分图匹配

匈牙利算法

目前看到最清晰的题解

注:

匈牙利算法仅仅只针对左边的节点枚举,\(mat\) 存的是右边的节点对应左边的节点

\(vis\) 数组代表这一次增广路已经访问过的点,所以每次都要重置 \(vis\) 数组

#include<bits/stdc++.h>
using namespace std;
const int N=1005;
int n,m,e;
vector<int>b[N];
int mat[N];
bool vis[N];
bool find(int x){for(int v:b[x]){if(vis[v])  continue;vis[v]=1;//当前左节点是否被访问过if(!mat[v]||find(mat[v])){//本质上mat仅存的是右节点对应的左节点mat[v]=x;return 1;}}return 0;
}
int hungarian(int tot){int cnt=0;for(int i=1;i<=tot;i++){memset(vis,0,sizeof(vis));if(find(i))  cnt++;  }return cnt;
}
int main(){scanf("%d%d%d",&n,&m,&e);for(int i=1;i<=e;i++){int u,v;scanf("%d%d",&u,&v);v+=n;b[u].push_back(v);b[v].push_back(u);}printf("%d\n",hungarian(n));
}
http://www.westin-hotel.cn/news/1100.html

相关文章:

  • 100%开源!行业首个企业级智能体
  • 大脑焦油坑
  • 4N90-ASEMI电机控制专用4N90
  • 机器学习
  • GitLab CI/CD 作业缓存如何使用 RustFS?
  • ARC181D Prefix Bubble Sort
  • window窗口透明化
  • 使用 Docker 安装分布式存储 RustFS
  • 文件I/O第三天练习
  • 【计算几何】洛谷 P3194 [HNOI2008] 水平可见直线
  • Github访问不了解决方案(Mac)
  • SM22022|SM_SC_ZSBCRW_TB中剩余计划数不要,未入库数等于作业单中未完成数
  • 2025年HarmonyOS面试题
  • 如何在 Git 中控制某些文件不被提交?
  • 我给 AI 接上了一个 C# 运行器,结果它学会了自己上网、调试代码
  • 模拟赛 Day1
  • 教学篇!!入门code::blocks!!
  • 揭露利用Tor网络的Docker漏洞攻击链
  • 题解:P6657 【模板】LGV 引理
  • 题解:P4781 【模板】拉格朗日插值
  • 模拟赛 Day 2
  • Qt/C++开发经验小技巧316-320
  • 从任务分配到匈牙利算法:指派问题的提出、发展与应用
  • RISC-V的发展,进入深水区
  • MySQL新增字段DDL:锁表全解析、避坑指南与实战案例
  • Ubuntu 开发者福音:拥抱更智能的 dblens for MySQL 管理!
  • 深度学习之父辛顿、姚期智再签“上海共识”:AI可能已超越人类,大模型要有“随时关机”的能力
  • AI教父Hinton首次现身中国,合照全网刷屏!预警AI觉醒临界点已至
  • EUV光刻胶重要进展!
  • AI芯片 “四大天王”首次同场聚首
  • 淮北住房和城乡建设局门户网站淘宝关键词排名是怎么做的
  • 股权众筹网站建设网页制作成品模板网站
  • 威海那家做网站好店铺推广渠道有哪些方式