hdu2255 奔小康赚大钱 二分图最佳匹配--KM算法
传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子。
这可是一件大事,关系到人民的住房问题啊。村里共有n间房间,刚好有n家老百姓,考虑到每家都要有房住(如果有老百姓没房子住的话,容易引起不安定因素),每家必须分配到一间房子且只能得到一间房子。
另一方面,村长和另外的村领导希望得到最大的效益,这样村里的机构才会有钱.由于老百姓都比较富裕,他们都能对每一间房子在他们的经济范围内出一定的价格,比如有3间房子,一家老百姓可以对第一间出10万,对第2间出2万,对第3间出20万.(当然是在他们的经济范围内).现在这个问题就是村领导怎样分配房子才能使收入最大.(村民即使有钱购买一间房子但不一定能买到,要看村领导分配的).
二分图最佳匹配,KM算法裸题
- #include<stdio.h>
- #include<string.h>
- #include<algorithm>
- #include<math.h>
- using namespace std;
- const int INF=0x3f3f3f3f;
- const int maxn=;
- int g[maxn][maxn],match[maxn],lx[maxn],ly[maxn],visx[maxn],visy[maxn],s[maxn],n,m;
- bool hungary(int u){
- visx[u]=;
- for(int i=;i<=n;++i){
- if(!visy[i]&&lx[u]+ly[i]==g[u][i]){
- visy[i]=;
- if(!match[i]||hungary(match[i])){
- match[i]=u;
- return ;
- }
- }
- else if(!visy[i])s[i]=min(s[i],lx[u]+ly[i]-g[u][i]);
- }
- return ;
- }
- int KM(){
- for(int i=;i<=n;++i){
- for(int j=;j<=n;++j)s[j]=INF;
- while(){
- memset(visx,,sizeof(visx));
- memset(visy,,sizeof(visy));
- if(hungary(i))break;
- int d=INF;
- for(int j=;j<=n;++j)
- if(!visy[j])d=min(d,s[j]);
- for(int j=;j<=n;++j){
- if(visx[j])lx[j]-=d;
- if(visy[j])ly[j]+=d;
- else s[j]-=d;
- }
- }
- }
- int ans=;
- for(int i=;i<=n;++i)ans+=g[match[i]][i];
- return ans;
- }
- int main(){
- while(scanf("%d",&n)!=EOF){
- memset(lx,,sizeof(lx));
- memset(ly,,sizeof(ly));
- memset(match,,sizeof(match));
- for(int i=;i<=n;++i){
- for(int j=;j<=n;++j){
- scanf("%d",&g[i][j]);
- lx[i]=max(lx[i],g[i][j]);
- }
- }
- printf("%d\n",KM());
- }
- return ;
- }
hdu2255 奔小康赚大钱 二分图最佳匹配--KM算法的更多相关文章
- HDU2255 奔小康赚大钱 —— 二分图最大权匹配 KM算法
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) ...
- [hdu2255]奔小康赚大钱(二分图最优匹配、KM算法)
题目大意:求二分图的最优匹配(首先数目最大, 其次权值最大). 解题关键:KM算法 复杂度:$O(n^3)$ #include<cstdio> #include<cstring> ...
- hdu 2255 奔小康赚大钱 最大权匹配KM
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.这可是一件大事 ...
- hdu2255 奔小康赚大钱 km算法解决最优匹配(最大权完美匹配)
/** 题目:hdu2255 奔小康赚大钱 km算法 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 题意:lv 思路:最优匹配(最大权完美匹配) ...
- hdu-2255.奔小康赚大钱(最大权二分匹配)
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- Hdu2255 奔小康赚大钱(二分图最大权匹配KM算法)
奔小康赚大钱 Problem Description 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子. 这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好 ...
- HDU2255 奔小康赚大钱 (最大权完美匹配) 模板题【KM算法】
<题目链接> 奔小康赚大钱 Problem Description 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.这可是一件大事,关系到人民的住房问题啊 ...
- [ACM] HDU 2255 奔小康赚大钱 (二分图最大权匹配,KM算法)
奔小康赚大钱 Problem Description 传说在遥远的地方有一个很富裕的村落,有一天,村长决定进行制度改革:又一次分配房子. 这但是一件大事,关系到人民的住房问题啊. 村里共同拥有n间房间 ...
- HDU 2255.奔小康赚大钱 最大权匹配
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
随机推荐
- Linux command parted
Linux command parted [Purpose] Learning linux command parted to manipulate disk partitions ...
- 简单选择排序(Simple Selection Sort)
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- Linux3.10.0块IO子系统流程(4)-- 为请求构造SCSI命令
首先来看scsi_prep_fn int scsi_prep_fn(struct request_queue *q, struct request *req) { struct scsi_device ...
- <Scala><For beginners>
Scala Overview Scala is object-oriented Scala is a pure object-oriented language in the sense that e ...
- [SpringMVC-初始] 初始SpringMVC
关于SpringMVC的简介 A.SpringMVC概述 作用: SpringMVC框架是SpringFramWork中实现了MVC架构模式的轻量级子框架 用于将WEB层进行职责解耦,松散的耦合可插拔 ...
- 2019-03-20-day015-序列化存储
昨日回顾 序列化模块: json -- load dump dumps loads pickle -- load dump dumps loads shelve -- 文件 + 字典 f = shel ...
- Vue - iview 开发经验
Q:打包之后,iview表格宽度异常,过宽或者没有宽度 A:由于columns内某一项width设置为‘百分比(20%)’或者‘100px’导致的, columns内项目的width必须为number ...
- HDU 6106 17多校6 Classes(容斥简单题)
Problem Description The school set up three elective courses, assuming that these courses are A, B, ...
- ubuntu apt-get failed
Err http://mirrors.163.com/ubuntu/ trusty/main libtinfo-dev i386 5.9+20140118-1ubuntu1 Could not res ...
- 用Synoptic Panel自定义基于图形的可视化控件--制作一张剧场售票统计报表
数据可视化的一大特点就是能给报表使用者带来感官上的享受.不再是枯燥的数字,而变成一个一个亮丽的图形.之前业界大神公布过一个统计Car Accidents的报表,这个Power BI Report的特点 ...