POJ3281 Dining(拆点构图 + 最大流)】的更多相关文章

题目链接 题意:有F种食物,D种饮料N头奶牛,只能吃某种食物和饮料(而且只能吃特定的一份) 一种食物被一头牛吃了之后,其余牛就不能吃了第一行有N,F,D三个整数接着2-N+1行代表第i头牛,前面两个整数是Fi与Di(食物与饮料的种类数量),接着是食物的种类与饮料的种类要求输出最多分配能够满足的牛的数量 参考北理大神博客 分析:本想最大匹配搞,然后发现牛不仅要匹配食物还要匹配饮料. 最大流拆点构图, 食物 - 牛- 饮料,但是由于一个牛只能选择一个食物和一个饮料,也就是说牛这个节点有限制,最大就是…
Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 24945   Accepted: 10985 Description Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will consume no others. Farmer John has cooked fabul…
<题目链接> 题目大意: 有N头牛,F种食物,D种饮料,每一头牛都有自己喜欢的食物和饮料,且每一种食物和饮料都只有一份,让你分配这些食物和饮料,问最多能使多少头牛同时获得自己喜欢的食物和饮料. 解题分析: 开始还以为是一道匹配问题,后面才知道这是用网络流求解. 首先我们要明确,如果按照源点——>食物——>牛——>饮料——>汇点这样建图,是不符合题目条件的.因为题目要求每头牛只能吃一份食物和饮料,而这样建图,如果一头牛对应多个食物和饮料,那这样那头牛是可以吃多份食物和饮料…
题目链接:https://vjudge.net/problem/POJ-3281 Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 20017   Accepted: 8901 Description Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will consume…
需要直接到达,因此源点经过三条边后必须要达到汇点,但为了保证网络流的正确性(路径可反悔),因此不可限制层次网络的最高层次为3,最好的方法既是让所有点拆分成两个点,一个点从汇点进入,一个点通向汇点,任意两点的路径则标注为最短路径. //Dinic算法-拆点构图 //Time:625Ms Memory:2108K #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #…
题目大意:有$n$头牛,$f$种食物和$d$种饮料,每种食物或饮料只能供一头牛享用,且每头牛只享用一种食物和一种饮料.每头牛都有自己喜欢的食物种类列表和饮料种类列表,问最多能使几头牛同时享用到自己喜欢的食物和饮料. 解题关键:设超级源点指向所有食物,饮料指向所有超级汇点,牛拆点为牛1和牛2,然后按照匹配进行建图,所有边权为1,保证每头牛不会贪吃,可知每条可行流为一个解,跑最大流即可. 一定注意坐标的范围分别代表什么,拆点的时候最容易出错的就是点坐标的表示. 牛拆点边权为1的原因是保证每头牛只能选…
我是按照图论500题的文档来刷题的,看了这题怎么也不觉得这是最大流的题目.这应该是题目做得太少的缘故. 什么是最大流问题?最大流有什么特点? 最大流的特点我觉得有一下几点: 1.只有一个起点.一个终点.如果不是,我们可以构造超级源点,超级汇点. 2.边的容量有上限(有上下限的是另外一种特殊的最大流). 3.最后求的是一个最大值. 这题可以找到一些影子,一头奶牛只能吃一种食物,喝一种饮料.如果只有一种限制我们能很快反应过来(二分最大匹配),但是两种限制就增加了难度.不过还是可以理解为对边的权值的限…
Dining Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 21578 Accepted: 9545 Description Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will consume no others. Farmer John has cooked fabulous m…
题意:有f种菜,d种饮品,每个牛有喜欢的一些菜和饮品,每种菜只能被选一次,饮品一样,问最多能使多少头牛享受自己喜欢的饮品和菜 分析:建边的时候,把牛拆成两个点,出和入 1,源点向每种菜流量为1 2,每种菜连所有喜欢这道菜的牛的入点,流量1 3,每头牛的入点和出点,流量为1 4,每头牛的出点连所有它喜欢的饮品,流量为1 5,每种饮品连汇点,流量为1 然后最大流是答案,这个题一定要拆点,因为一头牛只吃一次 注:模板采用的是LRJ大白书上的模板(其实这题和HDU 4292是一样的) #include…
描述 Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will consume no others. Farmer John has cooked fabulous meals for his cows, but he forgot to check his menu against their preferences. Although he might…