题目链接
题目大意:奶牛喜欢一些种类的食物和饮料,给n种食物,m种饮料,问最多能喂多少奶牛(每种食物和饮料只能使用一次)
思路:把奶牛,食物,饮料都看做点,为了保证路线合法性,奶牛需要在中间,向2边构图。奶牛需要拆点。

emmmm如果奶牛喜欢三样东西应该怎么构图?

#include <bits/stdc++.h>using namespace std;
const int N = 110*4;
const int M = N*N;
int n,m,s,t,tot;
int head[N];
struct node{int u,nxt,cap,to;
}edge[M<<1];
int cur[N],deep[N];
void ae(int u,int v,int w){tot++;edge[tot].nxt = head[u];edge[tot].to = v;edge[tot].u = u;edge[tot].cap = w;head[u] = tot;
}
bool bfs(){memset(deep,-1,sizeof(deep));queue<int>q;q.push(s);deep[s] = 0;while(!q.empty()){int u = q.front();for(int i = head[u]; ~i;i = edge[i].nxt){int v = edge[i].to;if(deep[v]==-1&&edge[i].cap>0){q.push(v);deep[v] = deep[u]+1;if(v==t) return 1;}}q.pop();}return 0;
}
int dfs(int u,int f){int flow = 0,d;if(u==t||f==0) return f;for(int &i = cur[u]; ~i;i = edge[i].nxt){int v = edge[i].to;if(deep[v]>deep[u]&&edge[i].cap>0&&(d=dfs(v,min(f,edge[i].cap)))){edge[i].cap -= d;edge[i^1].cap += d;f -= d;flow += d;if(!f) break;}}if(flow==0) deep[u] = -1;return flow;
}
int dinic(){int ans = 0;while(bfs()){memcpy(cur, head, sizeof(head));ans += dfs(s,1e9);}return ans;
}
int main()
{//freopen("a.txt","r",stdin);ios::sync_with_stdio(0);int n1,n2,n3;cin>>n2>>n1>>n3;s = 0;t = n1+n2*2+n3+1;  memset(head,-1,sizeof(head));tot = -1;int i,j;for(i = 1;i <= n1;i ++){ae(0,i,1); //s连食物ae(i,0,0);}for(i = n1+n2*2+1;i <= n1+n2*2+n3;i ++){ae(i,t,1);  //饮料连tae(t,i,0);}for(i = 1;i <= n2;i ++){ae(n1+i,n1+i+n2,1);  //奶牛拆点ae(n1+i+n2,n1+i,0);int num1,num2;cin>>num1>>num2;for(j = 1;j <= num1;j ++){int x;cin>>x;ae(x,n1+i,1);  //奶牛连食物ae(n1+i,x,0);}for(j = 1;j <= num2;j ++){int x;cin>>x;ae(n1+i+n2,n1+n2*2+x,1);  //奶牛连饮料ae(n1+n2*2+x,n1+i+n2,0);}}cout<<dinic();return 0;
}

Dining (匹配,最大流)相关推荐

  1. 紫书:二分图匹配 最大流解决

    网络流的一个经典应用是二分图匹配. 匹配是指:两两没有公共点的边集. 二分图是指:可以把结点集分成两部分X和Y,使得每条边恰好一个端点在XXX,另一个端点在YYY.换句话说,同色节点不相邻,进行二染色 ...

  2. 解题报告:POJ 3281 Dining(最大流 / “三分图”建图)

    B.POJ 3281 DiningDiningDining(最大流/建图模板)[省选/NOI- ] 有 F 种食物和 D 种饮料,每种食物或饮料只能供一头牛享用,且每头牛只享用一 种食物和一种饮料.现 ...

  3. POJ 3281 -- Dining(最大流,拆点建图)

    题目链接 Description Cows are such finicky eaters. Each cow has a preference for certain foods and drink ...

  4. POJ-3281 Dining 网络流最大流

    Dining 题意: 现在有一个养牛场厂主,他有F种食物,D种水,每种都只有一份. 现在他有n头牛,每种牛需要吃一份食物,一种水,对于每头牛来说 食物都有Fi种选项,水有Di种选项,各自都需要选一种. ...

  5. poj3281 Dining (最大流)

    问题描述 牛是很挑食的.每头牛都偏爱特定的食物和饮料,其他的她都不吃. 农夫约翰为他的牛做了美味的饭菜,但他忘了根据它们的喜好检查菜单.虽然他可能不能填饱所有的人,但他想给尽可能多的奶牛提供一顿完整的 ...

  6. POJ 3281 (最大流+匹配+拆点)

    题目链接:http://poj.org/problem?id=3281 题目大意:有一些牛,一堆食物,一堆饮料.一头牛要吃一份食物喝一份饮料才算满足,而且牛对某些食物和饮料才有好感,问最多有多少头牛是 ...

  7. HDU 3081 Marriage Match II (并查集+二分+最大流 | 并查集+二分图匹配)

    题意:n 个男生.n个女生玩游戏,每个女生都可以和她不讨厌的男生结婚,此外她的朋友如果也不讨厌这个男生,也可以和他结婚:对于女生,如果A和B是朋友,B和C是朋友,那么A和C也是朋友.每次游戏女生会找一 ...

  8. Spring Cloud Gateway 整合阿里 Sentinel网关限流实战!

    前一篇文章介绍了Spring Cloud Gateway的一些基础知识点,今天陈某就来唠一唠网关层面如何做限流? 文章目录如下: 网关如何限流? Spring Cloud Gateway本身自带的限流 ...

  9. 多媒体流信息提取工具 ffprobe 简介

    一.介绍 ffprobe [options] [input_url] ffprobe能从多媒体流中收集信息,并且以人和机器都能理解的方式打印出来. [input_url]可以是本地文件的路径或者url ...

  10. vue.config.js配置不生效_华为QoS流策略配置教程

    3.QoS流策略配置 3.1.创建一个流策略并进入流策略视图,或进入已存在的流策略视图 [Huawei]traffic policy 1 match-order ? auto Auto order c ...

最新文章

  1. Python-pcl 随机采样一致性算法
  2. Datawhale组队学习:初级算法梳理课程任务
  3. 用python播放音乐_Python实例讲解 -- 定时播放 (闹钟+音乐)
  4. ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题
  5. linux下怎样看设备的中断号,Linux设备驱动的中断处理
  6. Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法
  7. dbf文件怎么创建_DBC文件到底是个啥
  8. 2015年01月30日 - Git五分钟教程
  9. 切换进程 切换线程
  10. 电加热炉温度控制系统的研究与设计
  11. html文字用竖线隔开,inline+padding技巧:间隔符(分割线)与文字高度不一致,间隔竖线高度缩短方法...
  12. Linux下为什么目录的大小总是4096
  13. 濒临死亡的校园BBS
  14. 【PHP + MySQL】【分享】搭建网站自动回复机器人
  15. centos卸载nvidia驱动_在Linux系统中卸载手动安装的Nvidia驱动程序
  16. 新基建专题报告:未来发展方向及重点产业分析
  17. Python 第一个GUI制作 pyqt6+qtdesigner+vscode
  18. VMWARE 虚拟机串口管道配置
  19. Windows Server 2012 R2 分布式文件系统(DFS)-深博-专题视频课程
  20. 孝心至上自强不息南阳何志强感动济源

热门文章

  1. drools规则语言指南(五)规则条件和行为
  2. 医疗机构如何成功实施CRM?如下几点是关键因素
  3. Go语言开发Windows应用
  4. Request Headers 和Response Headers——请求头和响应头
  5. php x20有啥用,vivo X20有什么新功能
  6. MySQL批量查某个库里每张表的数据量
  7. 分享一个开源免费、目前最好的API接口管理平台----eoLinker
  8. 涉及的无盘网络技术方面问题的解答(转)
  9. 浮动元素将父级高度撑开
  10. 快手主播怎么引流?直播带货将面向多样化发展