蒟蒻柴犬首相的博客

蒟蒻柴犬首相的博客

[网络流24题]负载平衡问题 (费用流)

题目描述 G公司n个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等。如何用最少搬运量可以使n 个仓库的库存数量相同。搬运货物时,只能在相邻的仓库之间搬运。 输入输出格式 输入格式: 文件的第1 行中有1 个正整数 n ,表示有 n 个仓库。第 2 行中有 n 个正整数,表示 n 个...

2018-07-28 15:55:43

阅读数:20

评论数:0

poj3422 卡卡的矩阵旅行(费用流)

题意 做过过河卒(一取方格数)、传纸条(二取方格数),我们这里来安利K取方格数。 也就是给出一个方阵,大小为n×nn×nn\times n 每一个格子都有一个权值。 我们需要从左上角到右下角取nnn条路径。每一条路径都会取掉当前方格内的数。多条路径通过同一个位置的话,这个位置的数只取一次。...

2018-07-21 18:42:42

阅读数:37

评论数:0

网络流小结

网络流建模 建模的条件是根据限制性条件连边。 对于每条边的限制性条件用容量来限制; 对于每个点的限制性条件用拆点之后连自边来限制。 网络流算法 EK算法 Dinic算法 二分图的匈牙利算法 EK+SPFA费用流算法 ZKW费用流(等待填坑) 写网络流的注意点 数组大...

2018-07-21 14:38:47

阅读数:24

评论数:0

费用流模板——EK+SPFA实现的最小费用最大流

算法原理 用两个字的高度概括——贪心~ 用一句话的概括:每一次通过spfa找到花费最小的可行流,然后进行增广,直到残量网络中,源点不能达到汇点。 其实还是通过代码理解比较好。 code 这里1是源点,n是汇点。 每次的读入四个数:有向边的两个结点+容量+费用 #include...

2018-07-21 09:54:12

阅读数:89

评论数:0

bzoj1711 [Usaco2007 Open]Dingin吃饭 poj3281 Dining

题面 Description 农夫JOHN为牛们做了很好的食品,但是牛吃饭很挑食. 每一头牛只喜欢吃一些食品和饮料而别的一概不吃.虽然他不一定能把所有牛喂饱,他还是想让尽可能多的牛吃到他们喜欢的食品和饮料. 农夫JOHN做了F(1<=F<=100)F...

2018-07-14 13:59:32

阅读数:28

评论数:0

奶牛的聚会(最大流)

题面 题目描述 N(3<=N<=200)头奶牛要办一个新年晚会。每头牛都会烧几道菜。一共有D(5<=D<=100)道不同的菜肴。每道菜都可以用一个1到D之间的数来表示。 晚会的主办者希望能尽量多的菜肴被带到...

2018-07-14 09:38:18

阅读数:154

评论数:0

bzoj1693 Asteroids(二分图最小顶点覆盖)

题目大意 n * n矩阵有K个点,第i个点的坐标为(Xi,Yi)。每次可以把某行或者某列删掉。问至少需要多少次可以把K个点都删掉。 (n≤500n≤500n\leq 500) 题解 每一行每一列都建点,然后对于每一个坐标(Xi.Yi)(Xi.Yi)(X_i.Y_i)都建一条从Xi到YiXi...

2018-07-13 20:15:35

阅读数:27

评论数:0

POJ1149 养猪(最大流)

题面(来源于HLOJ) 题目描述 尼克在一家养猪场工作,这家养猪场共有M间锁起来的猪舍,由于猪舍的钥匙都给了客户,所以尼克没有办法打开这些猪舍,客户们从早上开始一个接一个来购买生猪,他们到达后首先用手中的钥匙打开他所能打开的全部猪舍,然后从中选取他要买的生猪,尼克可以在此期间将打开的猪舍中的猪...

2018-07-13 16:02:36

阅读数:45

评论数:0

【网络流24题之一】飞行员配对问题+求方案(匈牙利算法求二分图最大匹配)

题面 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外籍飞行员。在众多的飞行员中,每一名外籍飞行员都可以与其他若干名英国飞行员很好地配合。...

2018-07-10 21:18:34

阅读数:23

评论数:0

【网络流24题之一】飞行员配对问题+求方案(网络流dinic算法求二分图最大匹配)

题面 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外籍飞行员。在众多的飞行员中,每一名外籍飞行员都可以与其他若干名英国飞行员很好地配合。...

2018-07-09 21:24:48

阅读数:30

评论数:0

最小割

定义 网络的割:对于一个网络,存在一个边集,满足:删除这些边之后使得原网络不再连通。 S-T割:首先是一个网络的割,然后满足源点和汇点在两个不同的连通块里面。 最大流=最小割 先证明任意割>=任意流 - 最小割中,源点s在的集合记作S,汇点t在的集合记作T,...

2018-07-08 18:39:01

阅读数:515

评论数:0

最大流算法之三——Dinic算法的优化——当前弧优化

当前弧优化 我们通过上一篇博客 传送门 知道,每一次bfs之后都跟着若干次dfs。每一次dfs都会发现一条可行流,而且这个可行流肯定是该路径的最大可行流。所以我们对于一条路径进行增广之后,肯定不用进行第二次增广。 所以我们这里加了一个优化,在同一个 bfs分层后跟着的dfs里面,加入要...

2018-07-08 15:19:29

阅读数:54

评论数:0

最大流算法之二——Dinic算法

Dinic是优化的EK Dinic算法的流程是,每次寻找可行流路径的时候都先通过一次bfs给原网络分层(如果不能分层,那么已经是最大流网络了),再通过dfs给分层后的网络找可行流路径(这时候不是仅仅找一条,二十一次dfs可以找许多条可行流)。 (图片来源:https://www.cnblogs...

2018-07-08 14:59:56

阅读数:35

评论数:0

最大流算法之一——EK算法

EK算法流程 EK算法的流程很简单: 随意找一个可行流作为流量网络更新的基础(一般题目没有规定可以采用流量为0的可行流) 利用bfsbfsbfs找一条从源点到汇点的可行流路径 用新找到的可行流路径更新原有流量网络:先找到该可行流路径中流量最小边,然后将该路径上所有正向边都减去该最小边的流量,...

2018-07-07 16:14:00

阅读数:56

评论数:0

最大流问题

定义 网络 网络就是一个有向带权图。为什么叫网络,我也不知道……我们可以进行一系列的类比:网络流就代表则运输水管,每一根水管都有一个单位时间内的运输上限,整个运水系统进入水量和出水量是相等的。所以:有向图的权值我们称为容量。 流量 就是单位进入系统的入度和出去系统的出度。 容量 ...

2017-12-28 18:14:42

阅读数:65

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭