/*
EK算法版本号,哦,慢。。。。。见下文dinic版本号
-----------------------------------------
最大的问题是网络流量问题
----------------------------------------
建图:
关键:拆点
把每一个牛拆成两个点,牛作为一个点有流量限制,即每一头牛仅仅能的一份饭。
把牛拆开后,将边的权值赋值为1。
----------------------------------------
建好图后就能够EK算法最大流了
----------------------------------------
建图代码:
for(int i=1; i<=f; i++)源点和food相连
g[s][i] = 1;
for(int i=1; i<=d; i++)drink和汇点相连
g[i + 2*n + f][t] = 1;
for(int i=1; i<=n; i++)
{
cin>>a>>b;
for(int j=1; j<=a; j++)
{
cin>>food;
g[food][f + i] = 1;food和牛相连
}
g[f + i][f + i + n] = 1;牛拆点后也要相连
for(int j=1; j<=b; j++)
{
cin>>drink;
g[f + i + n][2*n + f + drink] = 1;牛和drink相连
}
}
---------------------------------
*/
#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
#define INF 0x3f3f3f3f using namespace std; const int N = 500; int n,f,d;
int g[N][N];
int flow[N][N],a[N],p[N];
int s,t; int EK(int s, int t)
{
queue<int> q;
int f = 0;
for(;;)
{
memset(a,0,sizeof(a));
a[s] = INF;
q.push(s);
while(!q.empty())
{
int u = q.front();
q.pop();
for(int v=s; v<=t; v++)
{
if(!a[v] && g[u][v] > flow[u][v])
{
p[v] = u;
q.push(v);
a[v] = min(a[u],g[u][v] - flow[u][v]);
}
}
}
if(a[t] == 0)
break;
for(int u=t; u != s; u=p[u])
{
flow[p[u]][u] += a[t];
flow[u][p[u]] -= a[t];
}
f += a[t];
}
return f;
} void init()
{
int a,b,food,drink;
s = 0;
t = 2*n + f + d + 1;
memset(g,0,sizeof(g));
for(int i=1; i<=f; i++)
g[s][i] = 1;
for(int i=1; i<=d; i++)
g[i + 2*n + f][t] = 1;
for(int i=1; i<=n; i++)
{
cin>>a>>b;
for(int j=1; j<=a; j++)
{
cin>>food;
g[food][f + i] = 1;
}
g[f + i][f + i + n] = 1;
for(int j=1; j<=b; j++)
{
cin>>drink;
g[f + i + n][2*n + f + drink] = 1;
}
}
} int main()
{
//freopen("input.txt","r",stdin);
while(scanf("%d%d%d",&n,&f,&d) != EOF)
{
init();
printf("%d\n",EK(s, t));
}
return 0;
}

--------------------------------------------------------------------

战斗,不留情面;斗争。永不停止~~~~~~~~~~~~~~

【网络流量最大流量】poj3281Dining的更多相关文章

  1. Linux下网络流量实时监控工具

    Linux下网络流量实时监控工具大全 在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面 ...

  2. linux 网络数据收发网络流量监控

    网卡流量 1.iftop命令 iftop可以用来监控网卡的实时流量(可以指定网段).反向解析IP.显示端口信息.TCP/IP连接等官网:http://www.ex-parrot.com/~pdw/if ...

  3. windows下使用C#获取特定进程网络流量

    最近老板接了一个中船重工的项目,需要做一个有关海军软件系统的组件评估项目,项目中有一个子项目需要获取特定进程的各种系统参数,项目使用.NET平台.在获取特定进程各种系统参数时,其它诸如进程ID,进程名 ...

  4. 一个链接引发的血案---------服务器 IO及网络流量暴涨解决历程

    在这里介绍一次因为更改网站地址而引发服务器IO读取速度,网络流入流出速度暴涨10倍的解决经历. 环境:Ubuntu + Nginx + php-cgi + Wordpress 事情是这样的,现在网站使 ...

  5. CentOS7 监控进程网络流量工具安装

    服务器在做测试的时候,需要监控网络流量,用来了解在不同人数的时候服务器的网络使用量. 我们使用服务器环境是centos7,centos下通常使用iftop,或者nethogs来进行网络流量监控.这2个 ...

  6. 【读书笔记】iOS网络-测试与操纵网络流量

    一,观测网络流量. 观测网络流量的行为叫做嗅探或数据包分析. 1,嗅探硬件. 从iOS模拟器捕获数据包不需要做特别的硬件或网络配置.如果需要捕获这些数据包,那么可以使用嗅探软件来监听回送设备或是用于连 ...

  7. [Android Pro] 网络流量安全测试工具Nogotofail

    reference to : http://www.freebuf.com/tools/50324.html 从严重的HeartBleed漏洞到苹果的gotofail 漏洞,再到最近的SSL v3 P ...

  8. Linux网络流量实时监控ifstat iftop命令详解

    ifstat 介绍 ifstat工具是个网络接口监测工具,比较简单看网络流量 实例 默认使用 #ifstat        eth0                eth1       KB /s i ...

  9. linux网络流量实时监控工具之iptraf

    这个工具还是很强大 linux网络流量实时监控工具之iptraf [我的Linux,让Linux更易用]IPTraf是一个网络监控工具,功能比nload更强大,可以监控所有的流量,IP流量,按协议分的 ...

随机推荐

  1. hdu3602(变形背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3602 题意是:N个国家,M个飞船,每个国家有人数num,如果上飞船就给联合国value钱,选出某些国家 ...

  2. VB6.0数据库开发五个实例——罗列的总结

    实例一: 系统登录对话框 设计分析:数据库管理系统登录对话框两种基本方法:数据库中建立数据表用于保存系统用户登录信息:支持安全验证的数据库管理系统,可将系统用户定义为数据库用户. 技术要领:1.Ent ...

  3. HTML中的div标签

    在网页制作过程过中,能够把一些独立的逻辑部分划分出来.放在一个<div>标签中,这个<div>标签的作用就相当于一个容器. 为了使逻辑更加清晰,我们能够为这一个独立的逻辑部分设 ...

  4. NPC

    这里的想说的NPC不是Non-Player-Controled,非玩家控制角色,而是Non-determinisitc Polynomial complete problem,它属于一类很特殊的问题, ...

  5. ubuntu oracle jdk

    sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-javaX-i ...

  6. 【android自己定义控件】自己定义View属性

    1.自己定义View的属性 2.在View的构造方法中获得我们自己定义的属性 3.重写onMesure 4.重写onDraw 3这个步骤不是必须,当然了大部分情况下还是须要重写的. 1.自己定义Vie ...

  7. Spring框架简单介绍

    原文地址:  http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多 ...

  8. Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  9. CentOS7 编译安装LNMP

    (文章来自:http://www.cnblogs.com/i-it/p/3841840.html,请各位到这个网址去看原文的) LNMP(Linux-Nginx-Mysql-PHP),本文在CentO ...

  10. cocos2d触摸事件处理机制(2.x和3.x变化)

    2.x的触摸事件的版本号 触摸事件处理有2种子.以下单点触摸的样本.(另一种多点触摸屏). 创建cocos2d 该项目. 1. 重写下面虚函数. bool ccTouchBegan(cocos2d:: ...