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

匈牙利算法模板

P3386 【模板】二分图最大匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:最模板的一集.还未匹配则匹配,否则之前一个给现在这个让位置.

int n,m,e;
vector<int> vct[505];
int match[505];
bool vis[505];
bool mark[505][505];
bool dfs(int s){for(auto v:vct[s]){if(vis[v]) continue;vis[v]=1;if(!match[v]||dfs(match[v])){   女生没有伴侣,或者其伴侣可以选择其他女生match[v]=s;return 1;}}return 0;
}
void solve(){               匈牙利🇭🇺--求最大匹配 o(n*m)cin>>n>>m>>e;for(int i=1;i<=e;i++){int u,v; cin>>u>>v;if(!mark[u][v]){vct[u].emplace_back(v);    建单向边mark[u][v]=1;}}int ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++) vis[j]=0;if(dfs(i)) ans++;}cout<<ans;
}

C-有大家喜欢的零食吗_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com)

思路:纯模板.

int n;
vector<int> vct[505];
int match[505],vis[505];
bool dfs(int s){for(auto v:vct[s]){if(vis[v]) continue;vis[v]=1;if(!match[v]||dfs(match[v])){    如果女生没有伴侣,或者其伴侣可以选择其他女生match[v]=s;    糖果v被s孩子选了return 1;}}return 0;
}
有大家喜欢的零食吗
https://ac.nowcoder.com/acm/contest/86639/C
void solve(){               C   匈牙利🇭🇺--求最大匹配cin>>n;for(int i=1;i<=n;i++){int k; cin>>k;for(int j=1;j<=k;j++){      孩子选糖果int x; cin>>x;vct[i].emplace_back(x);}}int ans=0;for(int i=1;i<=n;i++){if(dfs(i)) ans++;for(int j=1;j<=n;j++) vis[j]=0; init}if(ans==n) cout<<"Yes";else cout<<"No"<<endl<<n-ans;
}

[ABC091C] 2D Plane 2N Points - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:纯模板

int n;
pair<int,int> a[150];
pair<int,int> b[150];
vector<int> vct[105];
int match[105];
bool vis[105];
bool dfs(int s){for(auto v:vct[s]){if(vis[v]) continue;vis[v]=1;if(!match[v]||dfs(match[v])){     如果女生没有伴侣,或者其伴侣可以选择其他女生match[v]=s;return 1;}}return 0;
}
2D Plane 2N Points
https://www.luogu.com.cn/problem/AT_arc092_a
void solve(){  B--匈牙利cin>>n;for(int i=1;i<=n;i++) cin>>a[i].first>>a[i].second;for(int i=1;i<=n;i++) cin>>b[i].first>>b[i].second;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a[i].first<b[j].first&&a[i].second<b[j].second) vct[i].emplace_back(j);}}int ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++) vis[j]=0;if(dfs(i)) ans++;}cout<<ans;
}

相关文章:

  • ARM Process state -- SPSR
  • 【java】前端RSA加密后端解密
  • 当前用户添加到 [uucp ]组
  • 七段 LED 显示器(7段数码管)
  • 深度剖析800G以太网:优势、挑战与发展
  • C语言_回调函数和qsort
  • MATLAB中的艺术:用爱心形状控制坐标轴
  • git 清除二进制文件的 changes 状态
  • JBOSS中间件漏洞复现
  • 多维时序 | GWO-VMD-SSA-LSTM灰狼优化变分模态分解联合麻雀优化长短期记忆网络多变量时间序列光伏功率预测(Matlab)
  • 迈巴赫 S480 的奢华升级之旅头等舱行政独立 4 座
  • 电影《749局》酷燃首映 苗苗神秘感大片释出氛围感拉满
  • 有关若依登录过程前端的对应处理学习
  • 第L2周:机器学习|线性回归模型 LinearRegression:2. 多元线性回归模型
  • FileLink跨网文件交换|解决网络隔离导致的文件共享难题
  • android 一些 utils
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • crontab执行失败的多种原因
  • eclipse的离线汉化
  • ES6核心特性
  • Javascript弹出层-初探
  • JS字符串转数字方法总结
  • Linux后台研发超实用命令总结
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • 闭包--闭包之tab栏切换(四)
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 使用 QuickBI 搭建酷炫可视化分析
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 微信小程序填坑清单
  • 新版博客前端前瞻
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • (1)svelte 教程:hello world
  • (C++)八皇后问题
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (pycharm)安装python库函数Matplotlib步骤
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十) 初识 Docker file
  • (四)js前端开发中设计模式之工厂方法模式
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net 调用海康SDK以及常见的坑解释
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?