poj--3281-- DiningI(最大流)】的更多相关文章

POJ 3281 Dining id=3281" target="_blank" style="">题目链接 题意:n个牛.每一个牛有一些喜欢的食物和饮料.每种食物饮料仅仅有一个.问最大能匹配上多少仅仅牛每一个牛都能吃上喜欢的食物和喜欢的饮料 思路:最大流.建模源点到每一个食物连一条边,容量为1,每一个饮料向汇点连一条边容量为1,然后因为每一个牛有容量1.所以把牛进行拆点.然后食物连向牛的入点,牛的出点连向食物,跑一下最大流就可以 代码: #incl…
题目链接:http://poj.org/problem?id=3281 题目大意:有一些牛,一堆食物,一堆饮料.一头牛要吃一份食物喝一份饮料才算满足,而且牛对某些食物和饮料才有好感,问最多有多少头牛是满足的. 解题思路: 没有费用的匹配最大流题. 我一开始是这么考虑的,S->牛->食物->饮料->T,cap都是1,啊哈,多简单. 这样是不对的.因为牛比较挑剔,假设牛1喜欢食物1,而不喜欢饮料1,那么食物1和饮料1之间连不连边呢? 不连吧,其它牛怎么办? 连吧,牛1怎么办? 果断不能…
题目链接:http://poj.org/problem?id=3281 题目大意:农夫为他的 N (1 ≤ N ≤ 100) 牛准备了 F (1 ≤ F ≤ 100)种食物和 D (1 ≤ D ≤ 100) 种饮料.每头牛都有各自喜欢的食物和饮料,而每种食物或饮料只能分配给一头牛.最多能有多少头牛可以同时得到喜欢的食物和饮料? 解题思路:令st=0为源点,en=f+2*n+1为汇点,st向每种食物建流量为1的边,每种食物向喜欢它的牛(拆点1)建流量为1的边,眉头牛的拆点之间建流量为1的边,每头牛…
题目大意:有一群牛,还有一些牛喜欢的食物和喜欢的饮料,不过这些牛都很特别,他们不会与别的牛吃同一种食物或者饮料,现在约翰拿了一些食物和饮料,同时他也知道这些牛喜欢的食物和饮料的种类,求出来最多能让多少头牛吃上食物还并且喝饮料. 输入分析:输入的第一行是N F D,分别是牛,食物,饮料的个数.下面N行,每行开始的前两个数分别是Fi,Di表示第i头牛喜欢的食物和饮料的个数,紧跟着输入Fi种食物和Di种饮料. 分析:看到这里很容易就可以想到用牛与食物建立关系,并且让牛同时与饮料建立关系(把牛放在中间,…
不使用二分图匹配,使用最大流即可,设源点S与汇点T,S->食物->牛->牛->饮料->T,每条边流量为1,因为流过牛的最大流量是1,所以将牛拆成两个点. 前向星,Dinic,复杂度:O(V2E) 直接套用模板 #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<set…
牛是很挑食的.每头牛都偏爱特定的食物和饮料,其他的就不吃了. 农夫约翰为他的牛做了美味的饭菜,但他忘了根据它们的喜好检查菜单.虽然他不可能喂饱所有的人,但他想让尽可能多的奶牛吃上一顿有食物和水的大餐. 农民John煮了F(1≤F≤100)种食物,准备了D(1≤D≤100)种饮料.他的每头牛(1≤N≤100)已经决定了她是吃某种食物还是喝某种饮料.农民约翰必须为每头奶牛分配一种食物和一种饮料,以使得到这两种食物的奶牛数量最大化. 每一道菜或饮料只能由一头奶牛食用.,一旦食物2型被分配给一头奶牛,其…
饮料->牛->食物. 牛拆成两点. //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostream> #include<sstream> #include<cmath…
题意 : 有 N 头牛,John 可以制作 F 种食物和 D 种饮料, 然后接下来有 N 行,每行代表一头牛的喜好==>开头两个数 Fi 和 Di 表示这头牛喜欢 Fi 种食物, Di  种饮料,接下来 Fi 个数表示喜欢的食物编号,Di  个数表示喜欢的饮料的编号,现在 John 要使用最优决策制作出 F 种食物和 D 种饮料,问怎么喂才能使尽可能多的牛喂饱 ( 喂饱 = 一份食物一份饮料,且一头牛最多消耗一份食物和一份饮料 ),最后输出最多喂饱的牛数. 分析:如果是只有食物或者饮料一种的话,…
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmlrZTBnb29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" style="font-family:宋体"> Language: Default Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submis…
很巧妙的思想 转自:http://www.cnblogs.com/kuangbin/archive/2012/08/21/2649850.html 本题能够想到用最大流做,那真的是太绝了.建模的方法很妙! 题意就是有N头牛,F个食物,D个饮料. N头牛每头牛有一定的喜好,只喜欢几个食物和饮料. 每个食物和饮料只能给一头牛.一头牛只能得到一个食物和饮料. 而且一头牛必须同时获得一个食物和一个饮料才能满足.问至多有多少头牛可以获得满足. 最初相当的是二分匹配.但是明显不行,因为要分配两个东西,两个东…