HDU 2236 无题II(二分图匹配+二分)
来源:互联网 发布:mac怎么升级到os10.11 编辑:程序博客网 时间:2024/05/16 07:01
HDU 2236 无题II
题目链接
思路:行列只能一个,想到二分图,然后二分区间长度,枚举下限,就能求出哪些边是能用的,然后建图跑二分图,如果最大匹配等于n就是符合的
代码:
#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;const int N = 105;int t, n, x[N][N], have[N], hn;int vis[N], left[N];vector<int> g[N];bool dfs(int u) {for (int i = 0; i < g[u].size(); i++) {int v = g[u][i];if (vis[v]) continue;vis[v] = 1;if (left[v] == -1 || dfs(left[v])) {left[v] = u;return true;}}return false;}int hungary() {int ans = 0;memset(left, -1, sizeof(left));for (int i = 0; i < n; i++) {memset(vis, 0, sizeof(vis));if (dfs(i)) ans++;}return ans;}bool judge(int len) {for (int i = 0; i < hn; i++) {for (int j = 0; j < n; j++) g[j].clear();int down = have[i], up = have[i] + len;for (int u = 0; u < n; u++)for (int v = 0; v < n; v++)if (x[u][v] >= down && x[u][v] <= up)g[u].push_back(v);if (hungary() == n) return true;}return false;}int main() {scanf("%d", &t);while (t--) {scanf("%d", &n);memset(vis, 0, sizeof(vis));hn = 0;for (int i = 0; i < n; i++)for (int j = 0; j < n; j++) {scanf("%d", &x[i][j]);if (vis[x[i][j]]) continue;vis[x[i][j]] = 1;have[hn++] = x[i][j];}int l = 0, r = 101;while (l < r) {int mid = (l + r) / 2;if (judge(mid)) r = mid;else l = mid + 1;}printf("%d\n", l);}return 0;}
1 0
- HDU 2236 无题II(二分图匹配+二分)
- 【HDU】2236 无题II 二分+二分匹配
- hdu 2236 无题II 二分 + 二分匹配
- Hdu 2236 无题II 最大匹配+二分
- HDU 2236 无题II 二分+最大匹配
- hdu 2336 无题II 【二分+二分匹配】
- hdu 2236 无题II(二分法,枚举,二分图最大匹配)
- HDU 2236(无题II) 二分匹配(匈牙利,HK)+二分查找
- hdu 无题II(二分差值+最大匹配)
- #HDU2236#无题II(二分 + 匈牙利匹配)
- HDU 2236 无题II(二分匹配模板题,匈牙利算法)
- HDOJ 2236 - 无题II 暴力+二分图最大匹配判断
- hdoj 2236 无题II 【二分图匹配&&匈牙利算法】
- HDU2236 无题II 二分匹配+二分枚举
- hdu2236 无题II (二分+最大匹配)
- Gopher II(二分图最大匹配)
- hdu 2063 过山车(二分图匹配)
- hdu 2063(二分图匹配匈牙利)
- 面试题4 替换空格
- Android 系统启动
- 杭电2058
- 双绞线与串扰
- 解剖Nginx·模块开发篇(6)配置文件config入门
- HDU 2236 无题II(二分图匹配+二分)
- HTML——UL+CSS布局
- poj 3013 最短路变形
- 【二分匹配】 UVALive 6525 Attacking rooks
- bzoj 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列
- eclipse 导入一个maven工程后 一直显示 importing maven projects 10%
- 【多线程】(三)经典多线程问题
- vmware 安装mac 10.9.3
- 数据结构栈和队列的括号匹配函数