
最大流
Saito Asuka
这个作者很懒,什么都没留下…
展开
-
HihoCoder - 1369 网络流一 最大流 Edmonds-Karp
题目链接题意:n个点,m条道路,每条道路有最大容量,求从点1到点n最大的流量。思路:网络流最大流模板题。网络流最大流:先了解一下网络流中的增广路。增广路:一条从源点(出发的点)到汇点(到达的点)的路径,该路径上所有前向弧(与链的方向相同)为非饱和弧,后向弧(与链的方向相反)为非零弧。则根据增广路定义可知,若图中不存在增广路,则当前的可行流即为最大流。因为若存在增广路,则该路上前...原创 2018-07-18 15:29:40 · 217 阅读 · 0 评论 -
网络流 最大流 Dinic
Edmonds-Karp的优化,Edmonds-Karp每次只找一条增广路,而Dinic每次会找多条增广路。Dinic加入了分层图的概念,每次通过bfs对原图进行分层,然后根据分好的图进行dfs寻找增广路,增广路中的点满足当前点的层次=上一个点的层次+1(所以bfs只需要进行到汇点即可)。注:存边的时候head数组初始为-1,边从下标零开始存,0和1存第一条边及其反向边,2和3存第二条边及其反...原创 2018-09-09 10:03:47 · 154 阅读 · 0 评论 -
洛谷 P3376 【模板】网络最大流 ISAP
题目链接模板题。ISAP:Dinic的优化,Dinic的每次bfs重新求分层图较为浪费时间,而ISAP就对此进行了优化,对于每次增广实际每个点的深度并没有太多改变,所以ISAP定义了每个点到汇点的最短距离,对于每个点的最短距离,每次增广之后是不会变小(若变小则一开始就存在更短的增广路)。GAP优化:当与汇点距离为当前距离的结点数为0时,说明已经求得最大流,可以直接跳出dfs。#i...原创 2018-09-09 16:40:27 · 204 阅读 · 0 评论 -
洛谷 P3381 【模板】最小费用最大流
题目链接MCMF(最小费用最大流):由于要使用反向边。定义一个h[i]:表示从汇点到i的最短距离。对于一条边e(v,u),e.cost = e.cost + h[v] - h[u],这样可以保证图中没有负权边的存在,这样就可以使用dij来求最短路。每次求一条最短路,然后通过这条最短路更新最大流,直到找不出最短路为止。#include<cstdio>#include<...原创 2018-09-19 21:01:04 · 207 阅读 · 0 评论 -
HDU - 3081 Marriage Match II 二分图+最大流+并查集
题目链接题意:n个女孩和n个男孩,每个女孩可以和没有吵架过的或者是没有和女孩的朋友吵架过的男孩配对,每轮游戏女孩配对的男孩不能重复,求最多能进行几轮游戏。思路:匹配问题,对于单轮游戏来说就是求最大匹配了,但是对于多轮游戏,每个女孩可以匹配多个男孩,又确定了答案的上下界,所以用最大流+二分答案来求解,新建一个源点和一个汇点,源点与n个女孩连边,n个男孩和汇点连边,边容量即为当前答案值(女孩和...原创 2018-10-02 11:03:46 · 153 阅读 · 0 评论 -
牛客国庆集训派对Day6 - A Birthday 网络流最小费用最大流
题目链接题意:n只蜡烛,m个区域,第i个蜡烛可以放在第或者区域里,每个区域所耗时间等于占用该区域蜡烛个数的平方。求总的最小消耗时间。思路:可以看成每个蜡烛可以流向两个区域,建立两个容量为1,费用为0的边,建一个源点与n个蜡烛连边,容量为1,费用为0,再建一个汇点让m个区域与之连边,容量为每个区域对应的入度x,费用为,那么我们可以把这一条边拆成x条边,第i条边容量为1,费用为2*i-1。这样...原创 2018-10-08 19:34:11 · 178 阅读 · 0 评论 -
有上下界的网络流
有上下界的网络流具体可以分为以下三种:1.无源汇有上下界可行流例题:ZOJ - 2314题意:有 nnn 个节点,且有 mmm 条水管,每条水管的流向为单向,且每条水管的流量有限制,第 iii 条水管的流量 fi(li≤fi≤ci)f_i(l_i \leq f_i \leq c_i)fi(li≤fi≤ci) ,问是否存在一种流量分配,使得这m条水管的流量满足条件,如果存在,则输出每...原创 2019-02-07 22:23:10 · 337 阅读 · 0 评论