随笔分类 -  网络流

摘要:题意:一个网络流的图,有n个点,从1~n,然后m条边,每个点有两个值,一个是人的数量si一个是饭的数量bi。每条m边有容量ci,还有走上去可能踩断电线的概率pi(第一次踩上去没有事,之后都要p概率)。问让所有人吃到饭的前提下断电线的最小概率是多少。 解法:每条边有走的次数(流量),每条边走一次发生破 阅读全文
posted @ 2019-10-15 21:59 shuai_hui 阅读(260) 评论(0) 推荐(0)
摘要:网络流之二者取一式问题: 大致是说有n个人,有两个阵营,把人分成相应的阵营会有对应的价值,可能还会有联立的价值(就是规定如果u号选了A,v号选了B就有额外的价值什么的); 这种问题往往是转换为最小割问题,然后跑出最大流,如果题目要求是求最大的价值那就把全部边的答案相加在减去最大流 1 ) https 阅读全文
posted @ 2019-09-03 22:31 shuai_hui 阅读(354) 评论(0) 推荐(0)
摘要:题意: 给出一张二分图,初始每个节点的度数都为零。选择若干条边,使得每个节点的度数范围再[L,R]范围内。每选一条边,边上两端的节点度数+1。 题解: 首先先学习什么是有上下界的网络流 源点与左边每个节点连[L,R]的边。右边每个节点与汇点连[L,R]的边。 左右两边按照题意连权值为1的边。 最后判 阅读全文
posted @ 2018-09-11 23:30 shuai_hui 阅读(213) 评论(0) 推荐(0)
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1314 题意: 给n个点,及m根pipe,每根pipe用来流躺液体的,单向的,每时每刻每根pipe流进来的物质要等于流出去的物质,要使得m条pipe组成一个循环体,里面流躺物质。 阅读全文
posted @ 2018-09-11 14:02 shuai_hui 阅读(110) 评论(0) 推荐(0)
摘要:115. 无源汇有上下界可行流 n 个点,m 条边,每条边 e 有一个流量下界 lower(e)和流量上界 upper(e)),求一种可行方案使得在所有点满足流量平衡条件的前提下,所有边满足流量限制。 输入格式 第一行两个正整数 n 、m 。 之后的 m 行,每行四个整数 s、t 、lower 、u 阅读全文
posted @ 2018-09-11 13:46 shuai_hui 阅读(165) 评论(0) 推荐(0)
摘要:无源汇可行流 建模方法: 首先建立一个源ssss和一个汇tttt,一般称为附加源和附加汇。 对于图中的每条弧<u,v><u,v>,假设它容量上界为cc,下界bb,那么把这条边拆为三条只有上界的弧。 一条为<ss,v><ss,v>,容量为bb; 一条为<u,tt><u,tt>,容量为bb; 一条为<u 阅读全文
posted @ 2018-09-11 13:38 shuai_hui 阅读(152) 评论(0) 推荐(0)
摘要:有上下界的网络流的核心是”调整”,我们通过一个初始的未必可行的流调整出一个可行流,还可以从可行的未必最大/最小的流调整出最大/最小流. 另一个常用技巧是有源汇的流和无源汇的流(循环流)的转换.除了无源汇可行流的求解,其他有源汇的上下界网络流都要用到这个技巧. 模型:一个网络,求出一个流,使得每条边的 阅读全文
posted @ 2018-09-11 13:37 shuai_hui 阅读(338) 评论(0) 推荐(0)
摘要:题意】 有N个订单和M个机器,给出第i个订单在第j个机器完成的时间Mij,每台机器同一时刻只能处理一个订单,机器必须完整地完成一个订单后才能接着完成下一个订单。问N个订单完成时间的平均值最少为多少。 分析 : 最小费用最大流 如果每个工厂只能完成一个订单的话,那就是指派问题了。跑一遍最小费用流即可。 阅读全文
posted @ 2018-07-18 10:00 shuai_hui 阅读(207) 评论(0) 推荐(0)
摘要:题意:给你n个模块,每个模块在A核花费为ai,在B核跑花费为bi,然后由m个任务(ai,bi,wi),表示如果ai,bi不在同一个核上跑,额外的花费为wi,求最小的花费。 分析: 用最小的费用将对象划分成两个集合的问题,常常可以转化成最小割后解决,这题就是一道经典的问题; 1.考虑把N个模块按照在那 阅读全文
posted @ 2018-07-17 10:38 shuai_hui 阅读(163) 评论(0) 推荐(0)
摘要:题意 : 有 N 头牛,John 可以制作 F 种食物和 D 种饮料, 然后接下来有 N 行,每行代表一头牛的喜好==>开头两个数 Fi 和 Di 表示这头牛喜欢 Fi 种食物, Di 种饮料,接下来 Fi 个数表示喜欢的食物编号,Di 个数表示喜欢的饮料的编号,现在 John 要使用最优决策制作出 阅读全文
posted @ 2018-07-16 15:12 shuai_hui 阅读(138) 评论(0) 推荐(0)
摘要:匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。 等等,看得头大?那么请看下面的版本: 通过数代人的努力,你终于赶上了剩男剩女的大潮, 阅读全文
posted @ 2018-07-14 15:03 shuai_hui 阅读(301) 评论(0) 推荐(0)
摘要:定义 有一个有向图,每一个点都有一个权值(可以为正或负或0),选择一个权值和最大的子图,使得每个点的后继都在子图里面,这个子图就叫最大权闭合子图。 如下图: 能选的子图有Ø,{4},{3,4},{2,4},{1,2,3,4},它们的权值分别为0,-1,5,-6,4. 所以最大权闭合子图为{3,4}, 阅读全文
posted @ 2018-06-08 23:06 shuai_hui 阅读(486) 评论(0) 推荐(0)
摘要:题目大意: 有k个挤奶器,在牧场里有c头奶牛,每个挤奶器可以满足m个奶牛,奶牛和挤奶器都可以看成是实体,现在给出两个实体之间的距离,如果没有路径相连,则为0,现在问你在所有方案里面,这c头奶牛需要走的最大距离的最小值。 分析: 先将题目给出来的距离矩阵跑一下 Floyd 求出全源最短路方便后面建图, 阅读全文
posted @ 2018-06-08 20:55 shuai_hui 阅读(147) 评论(0) 推荐(0)
摘要:理解处 刷题处 模板处 最大流模板 处理重边的+(优化) #include<bits/stdc++.h> using namespace std; const int maxn = 1e6 + 10; const int INF = 0x3f3f3f3f; struct Edge { int fro 阅读全文
posted @ 2018-06-07 22:34 shuai_hui 阅读(270) 评论(0) 推荐(0)