网络流
十一号路口。
博客仅用于本人记录学习笔记!
展开
-
(转)UVA11613 Acme Corporation --- 最小费用最大流
/**题目:Acme Corporation UVA - 11613 拆点法+最大费用最大流(费用取相反数)+费用有正负链接:https://vjudge.net/problem/UVA-11613题意:m个月生产销售商品,求获得的最大利润。具体细节。第i个月生产一件商品费用为mi,可以最多生产ni件,卖出一件商品价格为pi,最多卖出si件, 该月生产的商品最多可以可以存放ei个月,即...转载 2020-01-05 21:46:13 · 126 阅读 · 0 评论 -
(转)最大流最小割定理
网络流中的割是指S-T割,即一个边集合E,使得网络流中所有点被划分成2个集合,一个集合含起点S,一个含终点T。E中边的流量就是割,最小割就是使得E的流量最小。那么最小割为什么等于最大流?直观理解:假设最大流为30,找一个割集,把网络流分割成了2部分,那现在最大流就是0了。相当于找的割集得把原来的流阻断,割要最小,就要恰好阻断所有流,如果割<30,说明一定存在一条S->T的路径有流...转载 2019-12-30 13:05:43 · 2107 阅读 · 0 评论 -
(转)Uva 1306 The K-League --- ISAP
网络流。枚举每个队夺冠。设win为夺冠赢得场数,那么显然别的队赢得次数都不能超过win。于是我们可以从源点s向每个队u(除了当前枚举的队)加边,容量为win-w[i],即该队还能赢多少场,然后再从从该队向节点(u,v)连边,容量为a[u][v]表示u和v比最多赢a[u][v]场,最后从节点(u, v) 向汇点t连边,容量为a[u][v],表示这个节点最多能产生a[u][v]场胜利。如果最大流等于所...转载 2019-12-29 18:35:06 · 98 阅读 · 0 评论 -
HDOJ4280 Island Transport --- ISAP
题解:最大流问题,采用ISAP算法#include <cstdio>#include <algorithm>#include <cstring>#include <queue>using namespace std;const int INF = 2e9;const int MAXN = 1e5 + 10;struct Ed...原创 2019-12-23 15:30:48 · 76 阅读 · 0 评论 -
uva11248 Frequency Hopping -- 最大流
题解: 题目要求最大流达到c,达不到的话,就找一条边加容量。先走一遍dinic()如果最大流不够,就在容量已经降为0的边上尝试加容量,重新走Dinic即可。需要注意的是在找边的时候,遍历的步长为2,否则会把添加的虚拟反向边给考虑进去#include <cstdio>#include <cstring>#include <algorithm>...原创 2019-12-22 11:46:20 · 122 阅读 · 0 评论 -
HDOJ 3549 Flow Problem --- Dinic算法模板
题解:最大流问题,套dinic模板即可#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;const int INF = 1e9;int n,m;int dis[3000];struct Edg...原创 2019-12-21 16:00:29 · 108 阅读 · 0 评论