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

洛谷 P2071:座位安排 ← 二分图 + 匈牙利算法 + 二分图最大匹配

​​【题目来源】
https://www.luogu.com.cn/problem/P2071

【题目描述】
已知车上有 N 排座位,有 2N 个人参加省赛,每排座位只能坐两人,且每个人都有自己想坐的排数,问最多使多少人坐到自己想坐的位置。

【输入格式】
第一行,一个正整数 N。
第二行至第 2N+1 行,每行两个正整数 S_{i,1},S_{i,2},为每个人想坐的排数。

【输出格式】
一个非负整数,为最多使得多少人满意。

【输入样例】
4
1 2
1 3
1 2
1 3
1 3
2 4
1 3
2 3

【输出样例】
7

【数据范围】
对于 10% 的数据,n≤10;
对于 30% 的数据,n≤50;
对于 60% 的数据,n≤200;
对于 100% 的数据,n≤2000。

【算法分析】
● 二分图的概念:如果无向图 G=(V, E) 的所有点可以分为两个集合 V1,V2,所有边都在 V1 与 V2 之间,且 V1,V2 的内部都没有边,则称 G 是一个二分图。

● 匈牙利算法:https://blog.csdn.net/hnjzsyjyj/article/details/155256420

● 题设每个人想坐的排数有两个,但每排有两个座位,故每个人有四个座位的选择。若设第 i 个人想坐的排数为 u 及 v,依据上述分析,在二分图中可构建 (i,u)、(i,u+n)、(i,v)、(i,v+n)等四条边。

● 注意代码中 N 及 M 的大小设置。

【算法代码】
本题代码大部分与洛谷 P3386:【模板】二分图最大匹配相同。详见:https://blog.csdn.net/hnjzsyjyj/article/details/155256420

#include <bits/stdc++.h>
using namespace std;const int N=4e3+5;
const int M=N<<3;
int e[M],ne[M],h[N],idx;
int mate[N],st[N];void add(int a,int b) {e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}bool HA(int u) { //Hungarian Algorithmfor(int i=h[u]; i!=-1; i=ne[i]) {int j=e[i];if(!st[j]) {st[j]=true;if(!mate[j] || HA(mate[j])) {mate[j]=u;return true;}}}return false;
}int main() {memset(h,-1,sizeof h);int n;cin>>n;for(int i=1; i<=n*2; i++) {int u,v;cin>>u>>v;add(i,u),add(i,u+n);add(i,v),add(i,v+n);}int cnt=0;for(int i=1; i<=n*2; i++) {memset(st,false,sizeof st);if(HA(i)) cnt++;}cout<<cnt<<endl;return 0;
}/*
in:
4
1 2
1 3
1 2
1 3
1 3
2 4
1 3
2 3out:
7
*/





【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/155345087
https://blog.csdn.net/hnjzsyjyj/article/details/155323274
https://blog.csdn.net/hnjzsyjyj/article/details/155283857
https://blog.csdn.net/hnjzsyjyj/article/details/155256420
https://blog.csdn.net/hnjzsyjyj/article/details/155325141




 

http://www.zskr.cn/news/63963.html

相关文章:

  • ASCII 码表常用符号
  • 历年 CSP / NOIP 补题记录
  • 2025年营销咨询公司满意度、性价比、口碑排名:直线管理咨询
  • Windows Failover Cluster集群中的EventId 1196错误日志
  • 2025年国内五大靠谱管理咨询公司排名,直线管理咨询实力怎么
  • 从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战 - 实践
  • 2025年北京离婚谈判律师推荐排行榜,哪个好?哪个靠谱?选哪个?
  • 免费CDN推荐:速度、安全、稳定长期选择的最优选择
  • 基于Qlearning强化学习的二阶弹簧动力学模型PID控制matlab性能仿真
  • 软件开发的下一个阶段
  • 2025成都市幼小衔接/小学托管/幼升小/拼音识字等机构最新top5推荐,培养专注力,优质教育机构、专业课程,助力儿童平稳过渡不费爸妈
  • 详细介绍:【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
  • 2025年长沙烘焙西点培训学校排行榜,精选烘焙西点培训学校推
  • 2025申请香港研究生的中介机构有哪些
  • 2025年热门的预应力金属波纹管设备卷管机厂家实力及用户口碑排行榜
  • 2025年热门的恒功率电伴热带厂家推荐及选购指南
  • 实用指南:单调栈的“降维打击”:从直方图到矩阵——再探「最大矩形」
  • Window Docker 安装MySQL8.0全流程 保姆级
  • 雅思报班终极参考:2025年5大实力机构深度测评(附封闭班详情)
  • 2025年上海职场人士婚介所推荐TOP5,高性价比的婚介公司
  • 2025年比较好的远程医疗行业排行榜
  • 2025年口碑好的粉末冶金齿轮/粉末冶金厂家实力及用户口碑排行榜
  • 2025年口碑好的机器人编程/机器人编程加盟本地权威榜
  • 祛斑厉害的三个牌子榜单揭晓,效果好的祛斑产品有哪些?
  • 记一次flink任务因sink表被锁住而引发的flink雪崩问题
  • KINGMA Odometer Correction Tool: Easy Cluster Programming Mileage Adjustment for EU/US Cars
  • 2025年口碑好的氮气电加热器/天然气电加热器高评价厂家推荐榜
  • 2025年有实力的外贸ERP品牌企业排名:口碑好的外贸ERP
  • 2025年评价高的木质艺术楼梯/艺术楼梯厂家实力及用户口碑排行榜
  • 短期高效提分!2025年国内雅思封闭班核心机构评测