POJ - 3281 Dining (无源汇拆点最大流 Edmonds_Karp)
牛是如此挑剔的食客。每头牛对某些食物和饮料都有偏好她不会吃其他的。农夫约翰为他的牛做了美味的饭菜但他忘了对照他们的喜好检查菜单。虽然他可能不能让每个人都吃饱但他想给尽可能多的奶牛提供一顿完整的食物和饮料。农夫约翰烹制了F1≤F≤100类食物和D1≤D≤100类饮料。他的每头n1≤n≤100奶牛都决定了她是否愿意吃某种特定的食物或喝某种特定的饮料。农场主约翰必须为每头奶牛指定一种食物和一种饮料类型以最大限度地增加奶牛的数量。每道菜或饮料只能由一头奶牛食用即一旦将食品类型2分配给一头奶牛就不能将其他奶牛分配给食品类型2。Input第1行三个空格分隔的整数n、F和D第2行..N1每行我以两个整数fi和di开头我喜欢的菜品数量和我喜欢的饮料数量。接下来的fi整数表示我要吃的菜后面的di整数表示我要喝的饮料。Output第1行一个整数它是可以同时喂养符合其意愿的食物和饮料的奶牛的最大数量。Sample Input4 3 3 2 2 1 2 3 1 2 2 2 3 1 2 2 2 1 3 1 2 2 1 1 3 3Sample Output3HintOne way to satisfy three cows is:Cow 1: no mealCow 2: Food #2, Drink #2Cow 3: Food #1, Drink #1Cow 4: Food #3, Drink #3The pigeon-hole principle tells us we can do no better since there are only three kinds of food or drink. Other test data sets are more challenging, of course.每头牛都只喜欢某几种食物和某几种饮料每种食物和某种饮料只能给一头牛一头牛只能得到一种食物和一种饮料而且一头牛必须同时获得一种食物和一种饮料才能满足。因为要分配两个东西,且两个东西还要同时满足所以此题不能用二分图匹配。可以运用无源汇拆点最大流先建立源点s和汇点t把s和食物连接权值为食物的数量1。饮料和t连接权值为饮料的数量1。一头牛拆分成两个点两点之间的容量为1确保一头牛就选一套食物和饮料的搭配源点 s --- 食物 --- 牛(左) --- 牛(右) --- 饮料 --- 汇点 t#includeiostream #includequeue #includealgorithm #includecstring #define INF 0x3f3f3f3f using namespace std; const int maxn500; int e[maxn][maxn],flag[maxn],pre[maxn]; int c,f,d,n,s,t; bool bfs() { memset(flag,0,sizeof(flag)); memset(pre,-1,sizeof(pre)); queueint q; q.push(s); flag[s]1; pre[s]s; int now,next; while(!q.empty()) { nowq.front(); q.pop(); for(int i0; in; i) { if(!flag[i]e[now][i]0) { flag[i]1; pre[i]now; q.push(i); if(it) return 1; } } } return 0; } int Edmonds_Karp() { int max_flow0,mi; while(bfs()) { miINF; for(int it; i!s; ipre[i]) { mimin(mi,e[pre[i]][i]); } for(int it; i!s; ipre[i]) { e[pre[i]][i]-mi; e[i][pre[i]]mi; } max_flowmi; } return max_flow; } int main() { while(cincfd) { nf2*cd1; s0,tn; memset(e,0,sizeof(e)); for(int i1; if; i) e[s][i]1; //源点和食物相连 for(int i1; ic; i) e[f2*i-1][f2*i]1; //牛拆点 for(int i1; id; i) e[f2*ci][t]1; //饮料汇点和相连 for(int i1; ic; i) { int fx,dx,x; cinfxdx; for(int j0; jfx; j) { cinx; e[x][f2*i-1]1; } for(int j0; jdx; j) { cinx; e[f2*i][f2*cx]1; } } coutEdmonds_Karp()endl; } return 0; }

相关新闻

【免费】基于Spark实时物联网设备故障预警 数据分析与预测 系统(Python版本+pyspark+可视化大屏+Kafka+FastAPI+Vue3) 锋哥原创出品,必属精品

【免费】基于Spark实时物联网设备故障预警 数据分析与预测 系统(Python版本+pyspark+可视化大屏+Kafka+FastAPI+Vue3) 锋哥原创出品,必属精品

大家好,我是Java1234_小锋老师,分享一套锋哥原创的基于Spark实时物联网设备故障预警 数据分析与预测 系统(Python版本pyspark可视化大屏KafkaFastAPIVue3) 项目介绍 随着工业互联网与智能制造的深入推进,工厂现场部署了大量物联网传感设备。…

2026/7/28 17:02:44 阅读更多 →
AIOps技术栈2026全景选型路线图:从数据采集层到智能决策层的工具推荐矩阵

AIOps技术栈2026全景选型路线图:从数据采集层到智能决策层的工具推荐矩阵

AIOps技术栈2026全景选型路线图:从数据采集层到智能决策层的工具推荐矩阵 一、前言:AIOps技术栈的复杂性与选型的战略意义 在2026年,AIOps(智能运维)已从"概念验证"走向"规模落地"。然而&#xff…

2026/7/28 17:02:44 阅读更多 →
Wukong AICRM Docker部署实战:从环境准备到生产运维

Wukong AICRM Docker部署实战:从环境准备到生产运维

这类工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来。Wukong AICRM 作为一个集成了 AI 能力的客户关系管理工具,核心价值在于把 AI 对话、客户跟进、数据分析这些功能打包成一个开箱即用的服务。它适合想快速搭建内部 CRM 系统、又希望…

2026/7/28 17:02:44 阅读更多 →

最新新闻

MongoDB 4.2——在生产环境中设置 MongoDB

MongoDB 4.2——在生产环境中设置 MongoDB

在生产环境中设置 MongoDB 1、从命令行启动2、停止MongoDB3、安全性3.1、数据加密3.2、SSL连接 4、日志 1、从命令行启动 MongoDB 服务器是以 mongod 可执行文件来启动的。mongod 有很多可配置的启动选项,要查看这些选项,可以在命令行中运行 mongod --h…

2026/7/28 17:15:47 阅读更多 →
Ubuntu smba 重启

Ubuntu smba 重启

sudo /etc/init.d/samba restart

2026/7/28 17:15:47 阅读更多 →
MongoDB 4.2——持久性

MongoDB 4.2——持久性

持久性1、使用日志机制的成员级别持久性2、使用写关注的集群级别持久性2.1、writeConcern的w和wtimeout选项2.2、writeConcern的j(日志)选项3、使用读关注的集群级别持久性4、使用写关注的事务持久性5、MongoDB不能保证什么6、检查数据损坏1、使用日志机…

2026/7/28 17:15:47 阅读更多 →
EncodingChecker:3步解决文件乱码问题的终极指南

EncodingChecker:3步解决文件乱码问题的终极指南

EncodingChecker:3步解决文件乱码问题的终极指南 【免费下载链接】EncodingChecker A GUI tool that allows you to validate the text encoding of one or more files. Modified from https://encodingchecker.codeplex.com/ 项目地址: https://gitcode.com/gh_m…

2026/7/28 17:15:47 阅读更多 →
springMVC定义拦截器判断用户是否为管理员

springMVC定义拦截器判断用户是否为管理员

首先是数据库的设计CREATE table tb_user( uId int(11) primary key auto_increment,uName varchar(20) not null,uPassword varchar(20) not null,uPhone varchar(30) not null,uAddress VARCHAR(100) not null,isManager int(1) default 0 -- 1:为管理员 0:不为…

2026/7/28 17:15:47 阅读更多 →
终极指南:浏览器端离线语音识别技术深度解析与Vosk-Browser实战

终极指南:浏览器端离线语音识别技术深度解析与Vosk-Browser实战

终极指南:浏览器端离线语音识别技术深度解析与Vosk-Browser实战 【免费下载链接】vosk-browser A speech recognition library running in the browser thanks to a WebAssembly build of Vosk 项目地址: https://gitcode.com/gh_mirrors/vo/vosk-browser 在…

2026/7/28 17:14:47 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻