当前位置: 首页 > 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.jsqmd.com/news/53937/

相关文章:

  • ASCII 码表常用符号
  • 历年 CSP / NOIP 补题记录
  • NOIP2025游记
  • 2025年中国十大个人IP打造公司推荐:高性价比的个人IP打
  • 2025年中国十大个人IP打造公司推荐:高性价比的个人IP打
  • 2025年广东工业机械人厂家排行榜,新测评精选企业推荐
  • 2025年营销咨询公司满意度、性价比、口碑排名:直线管理咨询
  • Windows Failover Cluster集群中的EventId 1196错误日志
  • 人力资源/人力服务外包公司哪家好?2025TOP10 榜单,降本又合规的靠谱之选!
  • 2025年GEO公司推荐出炉!有技术实力和实战经验才是硬道理!
  • 快AFO了
  • 2025年深圳股权分割律师推荐排行榜,哪个好?哪个靠谱?选哪个?
  • 借助神经网络手搓一个带finetune功能的手写数字识别来学习“深度神经网络”
  • 2025年深圳婚姻律师推荐排行榜,哪个好?哪个靠谱?选哪个?
  • 2025年国内五大靠谱管理咨询公司排名,直线管理咨询实力怎么
  • 2025年度广东工业机械人实力厂商TOP5推荐:广东工业机械
  • 2025年北京房产分割律师推荐排行榜,哪个好?哪个靠谱?选哪个?
  • 从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战 - 实践
  • 2025年北京离婚谈判律师推荐排行榜,哪个好?哪个靠谱?选哪个?
  • AI浪潮下的职业新机遇:从社交到编程的无限可能
  • 免费CDN推荐:速度、安全、稳定长期选择的最优选择
  • 2025年上海继承律师推荐排行榜,哪个好?哪个靠谱?选哪个?
  • 紧致抗皱抗衰老用什么好且有效?2025年十大热门面霜排行榜权威测评
  • 2025年IPD集成产品开发软件选型:必备功能+可落地软件推荐+避坑清单
  • 宗教信仰
  • 专业认证+高分案例:深度评测2025年11月最值得选的SAT辅导机构清单
  • 2025北京办公打印租赁服务TOP5权威测评:简节办公的市场
  • 完整教程:基于Flask的志愿者管理系统
  • 直击托福痛点!2025一对一托福培训机构深度测评,附个性化选课指南
  • 基于Qlearning强化学习的二阶弹簧动力学模型PID控制matlab性能仿真