uva753 A Plug for UNIX
最大流。
流可以对应一种分配方式。
显然最大流就可以表示最多匹配数
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; + ; + ; ; const int inf = 0x3f3f3f3f; char s[maxn][maxl],t[maxl],t2[maxl]; int g[maxn],v[maxm],nex[maxm],f[maxm],eid; int id[maxn],vid; int S,T; int d[maxn],gap[maxn]; int n,m,k,a1,a2; void addedge(int a,int b,int F) { v[eid]=b; f[eid]=F; nex[eid]=g[a]; g[a]=eid++; v[eid]=a; f[eid]=; nex[eid]=g[b]; g[b]=eid++; } void build() { memset(g,-,; vid=; S=++vid; T=++vid; scanf("%d",&n); ;i<=n;i++) { scanf("%s",s[i]); id[i]=; ;j<i;j++) ) { id[i]=id[j]; break; } if(!id[i]) id[i]=++vid; addedge(id[i],T,); //printf("id[%d]=%d\n",i,id[i]); } scanf("%d",&m); ;i<=n+m;i++) { scanf("%s",t); scanf("%s",s[i]); id[i]=; ;j<i;j++) ) { id[i]=id[j]; break; } if(!id[i]) id[i]=++vid; addedge(S,id[i],); //printf("id[%d]=%d\n",i,id[i]); } scanf("%d",&k); ;i<=k;i++) { scanf("%s",t); scanf("%s",t2); ;j<=n+m;j++) ) {a1=id[j]; break;} ;j<=n+m;j++) ) {a2=id[j]; break;} addedge(a1,a2,inf); //printf("%d %d\n",a1,a2); } } int ISAP(int u,int flow) { if(u==T) return flow; ,aug,mindist=vid; for(int i=g[u];~i;i=nex[i]) ==d[u]) { aug=ISAP(v[i],min(flow-cur,f[i])); cur+=aug; f[i]-=aug; f[i^]+=aug; if(cur==flow || d[S]>=vid) { return cur; } } ) { if(!--gap[d[u]]) { d[S]=vid; return cur; } for(int i=g[u];~i;i=nex[i]) if(f[i]) mindist=min(d[v[i]],mindist); ++gap[d[u]=mindist+]; } return cur; } void solve() { memset(d,,sizeof(d)); memset(gap,,sizeof(gap)); ; gap[]=vid; while(d[S]<vid) { res+=ISAP(S,inf); } printf("%d\n",m-res); } int main() { int T; scanf("%d",&T); while(T--) { build(); solve(); if(T) printf("\n"); } ; }
uva753 A Plug for UNIX的更多相关文章
- uva753 A Plug for UNIX 网络流最大流
C - A Plug for UNIX You are in charge of setting up the press room for the inaugural meeting of t ...
- UVa753/POJ1087_A Plug for UNIX(网络流最大流)(小白书图论专题)
解题报告 题意: n个插头m个设备k种转换器.求有多少设备无法插入. 思路: 定义源点和汇点,源点和设备相连,容量为1. 汇点和插头相连,容量也为1. 插头和设备相连,容量也为1. 可转换插头相连,容 ...
- 【poj1087/uva753】A Plug for UNIX(最大流)
A Plug for UNIX Description You are in charge of setting up the press room for the inaugural meeti ...
- POJ 1087 A Plug for UNIX / HDU 1526 A Plug for UNIX / ZOJ 1157 A Plug for UNIX / UVA 753 A Plug for UNIX / UVAlive 5418 A Plug for UNIX / SCU 1671 A Plug for UNIX (网络流)
POJ 1087 A Plug for UNIX / HDU 1526 A Plug for UNIX / ZOJ 1157 A Plug for UNIX / UVA 753 A Plug for ...
- UVA 753 A Plug for UNIX(二分图匹配)
A Plug for UNIX You are in charge of setting up the press room for the inaugural meeting of the Unit ...
- A Plug for UNIX 分类: POJ 图论 函数 2015-08-10 14:18 2人阅读 评论(0) 收藏
A Plug for UNIX Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14786 Accepted: 4994 Desc ...
- POJ1087 A Plug for UNIX(网络流)
A Plug for UNIX Time Limit: 1000MS Memory Limit: 65536K Total S ...
- poj 1087 C - A Plug for UNIX 网络流最大流
C - A Plug for UNIXTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contes ...
- UVA 753 - A Plug for UNIX(网络流)
A Plug for UNIX You are in charge of setting up the press room for the inaugural meeting of the U ...
随机推荐
- Git_1基础操作,从安装到提交完成(windows)
github地址:https://github.com/zhangsai521314/Git 1:安装Git Bash(https://git-scm.com/),安装一路NEXT. 2:目录架构: ...
- SpringMVC中@ResourceMapping的基本用法
最近从Struts转投SpringMVC,看代码时发现这个注解,感觉其作用应该和Struts的action差不多,把用法记录下来. 1. @RequestMapping(value="/de ...
- 使用air进行移动app开发常见功能和问题(一)
1. 获取最近联系人 思路:侦听Geolocation的update事件,获取经度和纬度信息,再把坐标信息上传至服务器,服务器比较坐标信息算出距离,返回最近位置的若干个人. update时间在2种情 ...
- Servlet实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(三)
1.MyEclipse | New Web Project :TestServlet01,修改index.jsp的代码: <%@ page language="java" i ...
- 树链剖分-SPOJ375(QTREE)
QTREE - Query on a tree You are given a tree (an acyclic undirected connected graph) with N nodes, a ...
- python实现朴素贝叶斯
参考:<机器学习实战>- Machine Learning in Action 一. 基本思想 简单的说,用概率的高低来决定数据属于哪一类别,这就是贝叶斯决策理论的核心思想,即选择具有最 ...
- ●UOJ 131 [NOI2015] 品酒大会
题链: http://uoj.ac/problem/131 题解: 网上大多数的方法都是用并查集维护.这里呢,给出另一种自己YY的解法(但实际上本质差不多吧): 后缀数组,RMQ,单调栈 1).预处理 ...
- c# 事件和EventManager
事件 基本用法 关键字event,声明格式为: public event <委托类型> <事件对象> 事件的处理方法:适用于该委托的方法 数据的触发: 绑定同类事件,绑定时,可 ...
- 【Vagrant】-NO.130.Vagrant.2 -【Error:the filesystem ";vboxsf"; is not available】
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
- Spring Boot事务管理(下)
在上两篇 Spring Boot事务管理(上)和Spring Boot事务管理(中)的基础上介绍注解@Transactional. 5 @Transactional属性 属性 类型 描述 value ...