网络流
litble
Away From OI已久,一天天变菜中,博客平时不咋看,也没能力答疑和改错了,因此不会互动见谅orz
展开
-
网络流之最大流问题
1.什么是网络流?类比一张水域网络,每条河流都有限定最大流过的水流,现在我们要找从水源到终点最多可以流多少水。水源叫做源点,而终点叫做汇点。2.什么是增广路?我们从A点可以流20mol水到B点,但是如果只流了14mol,从A到B的增广路就是6mol,也就是还能流6mol水到B点。当然,为了方便后悔,我们再弄一条从B到A的增广路,流量是14mol,意味着我们可以撤走这14mol的水。原创 2017-03-28 20:56:19 · 746 阅读 · 0 评论 -
bzoj4842 [Neerc2016]Delight for a Cat 线性规划+费用流
题目分析一开始全部打隔膜,然后选择几个时间,改成睡觉。若第iii小时改成了睡觉,则xi=1x_i=1xi=1,否则xi=0x_i=0xi=0,得到若干个式子:t1≤xi+xi+1+...+xi+k−1≤t2t_1 \leq x_i+x_{i+1}+...+x_{i+k-1} \leq t_2t1≤xi+xi+1+...+xi+k−1≤t2。添加取值范围为[0,inf][0,inf...原创 2019-01-03 11:37:26 · 492 阅读 · 0 评论 -
Dilworth定理是个啥东东
Dilworth定理Dilworth定理,一言以蔽之,偏序集能划分成的最少的全序集个数等于最大反链的元素个数。这对于数学不好的人(如litble)来说,不是句人话。翻译一下几个概念:偏序偏序嘛,应该不是那么陌生的东西 ,所谓“时属九月,三维偏序” 。定义集合AAA中的一个二元关系≤\leq≤,譬如对于(a1,b1)(a_1,b_1)(a1,b1)和(a2,b2)(a_2,b_2)(a...原创 2018-12-27 20:44:11 · 7934 阅读 · 6 评论 -
bzoj2923/洛谷P3756 老C的方块 最小割
题目分析先将网格图红白染色(你问为什么不是黑白?因为我在草稿纸上画图时发现把黑色格子改成红色是不可能的……)。然后将与蓝色线相邻的红色格子改成黑色,相邻的白色格子改成蓝色。大概长这样(灵魂画手litble再现江湖!)这样你会发现:1.整张图黑格子与红格不相邻,蓝格子和白格子不相邻。2.任何一个特殊图形,是一对相邻的黑格子和蓝格子,加上与它们连通的一个白格子和一个蓝格子。思考建图,由...原创 2018-12-13 18:41:15 · 342 阅读 · 0 评论 -
bzoj3265 志愿者招募加强版 线性规划与网络流(费用流)
题目分析设SiSiS_i为第iii天可以工作的志愿者的种类集合,xjxjx_j为第jjj种志愿者招募的个数,那么我们可以得到若干形如: ∑j∈Sixj≥ai∑j∈Sixj≥ai\sum_{j \in S_i} x_j \geq a_i 的式子。我们添加变量yiyiy_i使得原式变成: yi+∑j∈Sixj=aiyi+∑j∈Sixj=aiy_i+\sum_{j \in S_i} x_j =...原创 2018-08-11 07:51:56 · 757 阅读 · 0 评论 -
loj2134/uoj132/洛谷P2304/bzoj4200 小园丁与老司机 DP+有上下界网络流
题目分析老司机关于老司机的这一部分,显而易见是个dp。将纵坐标相等的点组成的集合称为层,则我们要逐层dp。将(0,0)这个点看作一棵树,算出答案后再减去它的贡献。首先预处理出每棵树向左上,上,右上会到哪棵树,这个可以离散+桶完成,正上的处理就是将x坐标放桶里,左上右上的就把经过该点的直线y=x+b1y=x+b1y=x+b_1和y=x−b2y=x−b2y=x-b_2对应的b1b1b_...原创 2018-05-26 17:25:23 · 1554 阅读 · 1 评论 -
bzoj3597/loj2214/洛谷P3288 方伯伯运椰子 分数规划+spfa判负权环
一看这题感觉要分数规划,于是迅速上套路: 二分一个答案lim,如果存在X−Yk≥limX−Yk≥lim\frac{X-Y}{k} \geq lim,则存在(X−Y)−lim∗k≥0(X−Y)−lim∗k≥0(X-Y)-lim*k \geq 0 然后发现压缩相当于网络流中的退流,扩容则相当于增广。当然也可以本质的理解,一开始所有点上的“囤积流量”都是0,如果压缩,那么v的“囤积流量”-1,u的“...原创 2018-04-28 15:36:24 · 232 阅读 · 0 评论 -
从bzoj2039,3144 小议最小割模型建立法
题目分析 我们要以得失平衡的角度来看待最小割模型建立问题。 ——沃兹基朔德人类的第六感告诉我们,这题涉及多人之间的得和失,有可能是一种最小割模型。 根据伟大的文学家沃兹基的话,我们可以知道,最小割模型的一般建立方法是源点流出“得”到每一个点,而每一个点的出边对应每一个选择的“失”,网络流“流走”的过程就相当于你本来得到的东西失去了的过程,所以求最小割,得到的就是你最少要失去多少东西,然后原创 2017-12-07 13:31:02 · 328 阅读 · 0 评论 -
蒟蒻的网络流24题解题记
食用手册网络流24题除了暂时没有优秀解法的“机器人路径规划问题”以外,皆可在loj上食用。 关于网络流的部分问题,可参见本蒟蒻“网络流”专题的博客。 EK最大流算法 dinic最大流算法 最小费用最大流 以及安利xzy神犇的binic(即“比你快”算法)最大流算法:http://k-xzy.cf/archives/3008 祝食用愉快。1.飞行员配对方案问题二分图匹配问题,图方便还是用了原创 2017-12-03 17:01:09 · 747 阅读 · 1 评论 -
蒟蒻与有上下界网络流的约会
题外话这是一个风和日丽,月朗风清的上午。 蒟蒻坐在机房里敲着代码,听着远处教学楼传来的开考哨,感觉心情一阵愉悦。 于是她决定学一下有上下界的网络流。 loj是一个好oj,你可以找到下面三种模型的模板题(但是本蒟蒻附的代码并不是loj上板子题的代码,因为在本蒟蒻发现loj上有板子题的时候,已经快到中午吃饭的时间了)无源汇上下界可行流分析这类问题是这样的:给你一个网络,每条边i上的流量都必须满足l原创 2017-12-09 11:26:53 · 879 阅读 · 1 评论 -
poj2699枚举+网络流
1.前言网络流的题目最难的地方是看出它是个网络流 ——沃兹基朔德2.题目大意就是说一些人比赛,两两比一场,一共要比n*(n-1)/2场嘛,然后赢一场就得一分,如果一个人赢了比它分数高的所有人,那么就叫这个人“strong king",问最多多少个"strong king"。(分数最高的人也是的)3.题目分析很容易证(cai)明(chu),不同数量"stron原创 2017-04-05 21:49:14 · 371 阅读 · 0 评论 -
最大权闭合子图
参考资料:胡伯涛《最小割模型在信息学竞赛中的应用》1.什么是最小权闭合子图?如图所示(图是网上找的)如果对于一个点集合,其中任何一个点都不能到达此集合以外的点,这就叫做闭合子图。每个点都有一个权值,那么最小权闭合子图就是权值最小的那个闭合子图。图中的闭合子图有空集,{5},{2,5},{4,5},{2,4,5},{3,4,5},{1,2,4,5},{1,2,3,4,5}其中最小原创 2017-04-06 19:40:44 · 1020 阅读 · 0 评论 -
cqoi2015网络吞吐量(bzoj3931,洛谷3171)
题目分析在这样一道很裸很裸的模板题上爆0简直了,我觉得我可以退役了......主要是想复杂了,完全不相信会有这么裸的省选题啊.....题意已经很明显了,就是要跑2遍Dijkstra最短路然后用网络流,当然如果你一定要用SPFA也可以,如果正着跑的dis[s]值加上反着跑的dis[t]值再加上这条边的长度是最短路的话,这条路就在最短路里面,选择。尊重题目意思,我用了Dijkstra。另外,一原创 2017-04-04 16:11:38 · 377 阅读 · 0 评论 -
网络流之dinic算法
1.关于网络流基本名词和相关问题,参见我博客里的“最大流问题”。2.解释dinic算法基本名词:层次。假如从源点到点u经过的最少边数为s(u),那么就称s(u)为u的层次。在E-K算法(增广路算法)中,我们只使用dfs和bfs中的一种。但是在dinic算法中,dfs和bfs都要用。运行原理:我们用bfs找出每个节点的层次后,再用dfs找增广路并增广,增广后再bfs....以此类推。原创 2017-03-31 20:01:10 · 949 阅读 · 0 评论 -
网络流之最小费用最大流
1.什么是最小费用最大流? 打个比方,这是一个运输过程,每条道路连接两座城市,每条路都有限重,也要按照货物数量收取过路费,问最多可以运多少货物。2.怎么算?和最大流算法很像,唯一不同的是需要加一个dis数组,然后将bfs改成SPFA即可。3.注意事项fa数组保存的是来到这个点的边。在判断能不能走的时候不需要写fa[to[i]]==0了,在到达终点后也不能break了,因为原创 2017-03-29 16:09:26 · 970 阅读 · 2 评论 -
模拟费用流模型总结
基础模型你在玩一款益智推箱子游戏。数轴上有nnn个箱子和mmm个传送点,第iii个箱子在xix_ixi,第iii个传送点在yiy_iyi。当箱子放在传送点上时可以传送走,每个传送点可以最多送走一个箱子,传送走所有箱子视为通关。你可以做的唯一操作是将一个箱子向左推一个单位,耗费代价1,过程中允许有多个箱子在同一位置或者箱子在传送点位置但没被送走,问你通关的最小代价。只要从左到右依次考...原创 2019-03-11 22:04:35 · 4931 阅读 · 4 评论