UVA-11383 (KM算法)
来源:互联网 发布:淘宝怎么更换图片 编辑:程序博客网 时间:2024/06/10 19:27
直接套KM模板。
#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#define MAXN 2147483647;using namespace std;int n,ly[501],lx[501],slack[501],fy[501],w[501][501];bool mx[501],my[501];int find(int x){ mx[x]=true; for(int i=1;i <= n;i++) if(!my[i]) { int a=lx[x]+ly[i]-w[x][i]; if(a == 0) { my[i]=true; if(!fy[i] || find(fy[i])) { fy[i]=x; return true; } } else slack[i]=min(slack[i],a); } return false;}void km(){ memset(lx,0,sizeof(lx)); memset(ly,0,sizeof(ly)); memset(fy,0,sizeof(fy)); for(int i=1;i <= n;i++) for(int j=1;j <= n;j++) lx[i]=max(lx[i],w[i][j]); for(int i=1;i <= n;i++) { for(int j=1;j <= n;j++) slack[j]=MAXN; while(true) { memset(mx,0,sizeof(mx)); memset(my,0,sizeof(my)); if(find(i)) break; int a=MAXN; for(int j=1;j <= n;j++) if(!my[j]) a=min(a,slack[j]); for(int j=1;j <= n;j++) if(mx[j]) lx[j]-=a; for(int j=1;j <= n;j++) if(my[j]) { ly[j]+=a; } else slack[j]-=a; } }}int main(){ ios::sync_with_stdio(false); while(cin>>n) { for(int i=1;i <= n;i++) for(int j=1;j <= n;j++) cin>>w[i][j]; km(); int ans=0; for(int i=1;i <= n;i++) { cout<<lx[i]<<" "; ans+=lx[i]; } cout<<endl; for(int i=1;i <= n;i++) { cout<<ly[i]<<" "; ans+=ly[i]; } cout<<endl; cout<<ans<<endl; }}
0 0
- UVA-11383 (KM算法)
- UVA 11383 Golden Tiger Claw(KM算法)
- Uva 11383 Golden Tiger Claw(KM算法原理应用)
- uva 11383 Golden Tiger Claw (KM算法)
- UVa:11383 Golden Tiger Claw(KM算法)
- UVa:1411 Ants(KM算法)
- UVA 11383 KM性质
- Uva 10888 Warehouse(KM)
- uva11383(KM算法)
- uva11383(KM算法)
- uva 11383 Golden Tiger Claw km模版题 但为什么Wa了呀? (KM)
- uva 1411 Ants (权值和最小的完美匹配---KM算法)
- KM算法模版(LRJ)
- KM算法(最优匹配)
- KM算法+模板(二)
- KM算法(最优匹配)
- KM算法(最优匹配)
- KM算法(汇总+模板)
- 使用canvas.clipPath来裁剪时部分机型出现问题
- vim配置及插件安装管理
- leetcode-139-Word Break
- NIST: Report on Post-Quantum Cryptography
- Mybatis的Spring配置
- UVA-11383 (KM算法)
- Drawable 着色的后向兼容方案
- 资格考试_第二章_证券投资基金概述
- iOS开发中UICollectionView的使用方法
- leetcode-140-Word Break II
- 【hdu1312】red and black——bfs
- 【Android消息机制】简要分析(一)
- Java连接Redis
- 警告:检测到时钟错误。您的创建可能是不完整的。