hdoj 2389 二分图 Hopcroft-Carp 模板
来源:互联网 发布:大数据分析的作用 编辑:程序博客网 时间:2024/05/29 15:12
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cstring>#include<string>#include<queue>#define lson i<<1#define rson (i<<1)+1#define maxn 3005#define maxi 233333333#define LL long longusing namespace std;// -------------------------模板----------------------int link[maxn][maxn];int dx[maxn],dy[maxn],cx[maxn],cy[maxn],used[maxn],dis;int n,m;bool searchP(){ queue<int>qu; dis = maxi; memset(dx,-1,sizeof(dx)); memset(dy,-1,sizeof(dy)); for(int i=1;i<=n;i++) if(cx[i]==-1) { qu.push(i); dx[i] = 0; } while(qu.size()) { int u = qu.front(); qu.pop(); if(dx[u]>dis)break; for(int i=1;i<=m;i++) if(link[u][i]&&dy[i]==-1) { dy[i] = dx[u]+1; if(cy[i]==-1)dis = dy[i]; else { dx[cy[i]] = dy[i]+1; qu.push(cy[i]); } } } return dis!=maxi;}int findP(int u){ for(int i=1;i<=m;i++) if(!used[i]&&link[u][i]&&dy[i]==dx[u]+1) { used[i] = 1; if(cy[i]!=-1&&dis==dy[i])continue; if(cy[i]==-1||findP(cy[i])) { cy[i] = u; cx[u] = i; return 1; } } return 0;}int match(){ int ans = 0; memset(cx,-1,sizeof(cx)); memset(cy,-1,sizeof(cy)); while(searchP()) { memset(used,0,sizeof(used)); for(int i=1;i<=n;i++) if(cx[i]==-1)ans+=findP(i); } return ans;}//-------------------------分界线----------------------struct people{ int x,y,u;}p[maxn];struct um{ int x,y;}u[maxn];int T;bool ok(people p1,um u1){ return (LL)T*T*p1.u*p1.u>=((LL)p1.x-u1.x)*(p1.x-u1.x)+(p1.y-u1.y)*(p1.y-u1.y);}int main(){ int t,i1 = 1; scanf("%d",&t); while(t--) { scanf("%d",&T); scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d%d%d",&p[i].x,&p[i].y,&p[i].u); scanf("%d",&m); for(int i=1;i<=m;i++)scanf("%d%d",&u[i].x,&u[i].y); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) link[i][j] = ok(p[i],u[j]); printf("Scenario #%d:\n",i1); i1++; printf("%d\n\n",match()); } return 0;}
0 0
- hdoj 2389 二分图 Hopcroft-Carp 模板
- HDOJ 2389 - Hopcroft-Carp模板二分图最大匹配
- Hopcroft-Carp算法模板【二分图匹配】
- 二分图匹配——Hopcroft-Carp算法模板
- HDU 2389 Rain on your Parade (二分图匹配(Hopcroft-Carp的算法模板))
- 二分图匹配Hopcroft-Carp算法介绍
- HDU 2389 Rain on your Parade(二分匹配+Hopcroft-Carp算法模板题)
- HDU2389_Rain on your Parade_二分图匹配::Hopcroft-Carp模板题
- HDU 2389 Rain on Your Parader(二分图匹配Hopcroft-Carp)
- HDU-2389-Rain on your Parade [二分匹配][Hopcroft-Carp]
- 二分图匹配(Hopcroft-Carp的算法) 模版
- SPOJ Fast Maximum Matching(二分图最大匹配Hopcroft-Carp)
- 二分匹配的Hopcroft-Carp算法
- 二分匹配的Hopcroft-Carp算法
- 二分匹配的Hopcroft-Carp算法
- hdu 2389 Rain on your Parade(二分匹配Hopcroft-Carp算法模版)
- 【二分图匹配】Hopcroft-Karp算法模板
- HDU 2389 Rain on your Parade(Hopcroft-Carp算法模板)
- 读书笔记——深入理解虚拟机
- Docker 1.12新功能探索(2):新增重大特性
- MPEG4 (ISO/IEC 14496) 文档内容 简介
- HDU 2546 饭卡
- 容器
- hdoj 2389 二分图 Hopcroft-Carp 模板
- 几天几夜,终解移动MM计费SDK接入bug
- Codeforces-703B Mishka and trip
- HDU Ball
- 扩展欧几里德算法详解以及乘法逆元
- HDU 4115(Eliminate the Conflict-石头剪刀布,经典2sat问题)
- 深入浅出RxJava(一:基础篇)
- 活点地图
- winform 分页控件,源码下载