
网络流
YihAN_Z
ただのあほです
展开
-
【转载】网络流学习笔记
觉得写得很好,学习一下。原文传送门http://blog.leanote.com/post/mrazer/%E7%BD%91%E7%BB%9C%E6%B5%81%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0巧妙运用拆点与拆边。 在流模型中(若为出边): 容量设为+∞:让水流不要在这里卡住,来者不拒,你给我来多少我都能给你输送出去,也就是让这个点随便流出,只限制流入。转载 2017-01-04 19:28:38 · 464 阅读 · 0 评论 -
BZOJ 4276 [ONTAK2015]Bajtman i Okrągły Robin 费用流 线段树优化建图
题目大意:n(≤5000)个区间(l,r≤5000),每个区间只能选其中的一个点得到vi的价值,每个点最多选1次,求最大价值原创 2017-06-19 08:11:35 · 506 阅读 · 0 评论 -
BZOJ 2095 [Poi2010]Bridges 二分 最大流(混合图欧拉回路)
题目大意:给出一张n个点m条边的联通图,无重边,每条边有正反两个权值。现要从点1出发经过每条边每个点一次,问最大边权最小是多少。原创 2017-06-22 15:41:06 · 426 阅读 · 0 评论 -
BZOJ 1877 [SDOI2009]晨跑 费用流
题目大意:给出一张n个点m条单向边的图,经过一条边可以获得一个边权c,每个点只能走一次(1、n除外),每条边也只能走一次。现多次从1出发到达n,问最大化经过点数最小化权值和。原创 2017-06-05 20:30:40 · 433 阅读 · 2 评论 -
BZOJ 3218 a + b Problem 网络流 可持久化线段树优化建图
#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#define N 200005#define INF 1000000000using namespace std;int n;namespace NetworkFlow { struct Edge { int to,n原创 2017-06-30 17:22:28 · 739 阅读 · 0 评论 -
BZOJ 2132 圈地计划 最小割
题目大意:有一个n*m的矩阵,在矩阵中填1或2会得到不同的权值。相邻的两个格子数字不相同会得到额外的权值,求最大权值最小割模型:同一事件两种选择获得不同收益,一定条件下有额外收益,求最大收益。在本题中,相邻格子填不同数字会获得额外收益,于是将矩阵黑白染色(i+j&1),每个黑色格子与S连边代表填1,与T连边代表填2,白色反过来。在相邻的两点之间连一条容量为收益的边。跑一边最大流求最小割用总和减去即为原创 2017-03-13 18:26:46 · 339 阅读 · 0 评论 -
BZOJ 2696 航班安排 费用流
题目大意:K架飞机,N个机场,以0..N-1编号,其中0号为基地机场,每天0时刻起飞机从该机场起飞,并不晚于T时刻回到该机场。M个包机请求,每个请求为在s时刻从a机场起飞,在恰好t时刻到达b机场,可以净获利c。机场之间来往有花费。求最大收益。将每一个请求拆成两个点,在两个点之间连一条费用为负的完成请求x的利润,流量为1的边,表示完成请求获得了利润且只能完成一次。在0时刻可以选择完成任意一个请求x,若原创 2017-03-13 14:12:48 · 480 阅读 · 0 评论 -
BZOJ 3931 [CQOI2015]网络吞吐量 最短路+最大流
题目大意:每个点有流量限制vi,只有在从起点到终点的最短路径上的边才可以走,求最大流量。将每个点分成入点与出点,入点与出点连一条vi的边(除起点与终点),最短路径上的边的流量为INF。1.网络流建图时若边不从0开始存一定要注意异或找反边有可能是错误的 2.数组又开小了QAQ#include <cstdio>#include <cstring>#include <queue>#include原创 2017-03-13 08:59:19 · 361 阅读 · 0 评论 -
BZOJ 1711 Dining 吃饭 网络流
网络流重在建图。其中每一头牛对应一种饮料与食物。将饮料与食物放在两边,牛放在中间,对应连接边,cap(容量)设为1。其中要注意,一头牛只能对应一种饮料与一种食物,可能有多种食物指向一头牛,所以要把牛的结点分裂成两个,用边连接,cap为1。节点分配弄清楚。(邻接表加边一定要写函数不然代码辣目0。0)#include <cstdio>#include <cstring>#define INF 105原创 2016-12-24 15:02:33 · 322 阅读 · 0 评论 -
BZOJ 4519 [Cqoi2016]不同的最小割 最小割树(分治最小割)
#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#define N 10005#define INF 1000000000using namespace std;int n,m,seq[N],w[N];namespace NetworkFlow { struct Edge {原创 2017-06-28 07:38:31 · 342 阅读 · 0 评论