hdu2236 无题II (二分+最大匹配)
来源:互联网 发布:java蜘蛛爬虫 编辑:程序博客网 时间:2024/05/15 12:10
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2236
#include <stdio.h> #include <string.h> #define MAXN 102 int mp[MAXN][MAXN]; int from[MAXN],used[MAXN];int mid,n,ptr;int match(int x)//匈牙利算法 { int i; for(i=0;i<n;++i) { if(!used[i]&&mp[x][i]>=ptr&&mp[x][i]<=ptr+mid) { used[i]=1; if(from[i]==-1||match(from[i])) { from[i]=x; return 1; } } } return 0; } int hungary(){int i; memset(from,-1,sizeof(from)); for(i=0;i<n;++i) { memset(used,0,sizeof(used)); if(!match(i)) return 0; } return 1; }int main(){int test,i,j,Max,Min,MAX,MIN,flag;scanf("%d",&test);while(test--){scanf("%d",&n);Min=110,Max=-10;for(i=0;i<n;++i){for(j=0;j<n;++j){scanf("%d",&mp[i][j]);Min=Min>mp[i][j]?mp[i][j]:Min;Max=Max<mp[i][j]?mp[i][j]:Max;}}MAX=Max-Min;MIN=0;while(1){flag=0;mid=(MIN+MAX)>>1;for(ptr=Min;ptr+mid<=Max;ptr++){if(hungary()){flag=1;break;}}if(MIN==mid)break;if(flag)MAX=mid;elseMIN=mid;}printf("%d\n",MAX);}}
- hdu2236 无题II (二分+最大匹配)
- HDU2236 无题II 二分匹配+二分枚举
- #HDU2236#无题II(二分 + 匈牙利匹配)
- 【匈牙利匹配】无题II HDU2236
- Hdu 2236 无题II 最大匹配+二分
- HDU 2236 无题II 二分+最大匹配
- HDOJ 2236 - 无题II 暴力+二分图最大匹配判断
- hdu 无题II(二分差值+最大匹配)
- 【HDU】2236 无题II 二分+二分匹配
- hdu 2236 无题II 二分 + 二分匹配
- hdu 2336 无题II 【二分+二分匹配】
- hdu 2236 无题II(二分法,枚举,二分图最大匹配)
- HDU 2236 无题II(二分图匹配+二分)
- hdoj 2236 无题II 【二分图匹配&&匈牙利算法】
- Gopher II 二分最大匹配基础题
- POJ2536_Gopher II(二分图最大匹配)
- POJ2536 Gopher II【二分图最大匹配】
- Gopher II(二分图最大匹配)
- rootkit hook之[三] inline hook
- ADB server didn't ACK,解决方法,亲测可用
- Android软Watchdog源码分析
- linux find命令
- java日期处理
- hdu2236 无题II (二分+最大匹配)
- UVA - 10003 Cutting Sticks
- 使用JTextPanel实现文档编辑器实例
- Uva - 11419 - SAM I AM(二分图最小点覆盖)
- nodeValue以及其与value的区别以及JS nodeName、nodeValue、nodeType返回类型
- UNP学习笔记——(2)环境搭建
- overflow:hidden
- 3种局域网介质访问控制方法的比较
- Ubuntu 12.04 开机自动挂载Windows分区