[学习笔记]上下界网络流
有的时候,网络流建模要考虑某些边必须选择若干次,又不能多于若干次,而且不太容易转化成比较好的限制模型,
就简单粗暴地给每条边定一个流量的上下界,求在满足上下界的基础上的一些问题。
大概有以下几种。
基本思路都是先满足下界,再调整流量守恒,一边满足最优性。
无源汇上下界可行流
每条边的流量有上下界
问是否存在一种可行方案
首先我们要保证每个点的流入流量等于流出流量
如果存在一个可行流,那么一定满足每条边的流量都大于等于流量的下限.因此我们可以令每条边的流量等于流量下限,得到一个初始流,然后建出这个流的残量网络,每条边的流量等于上限减下限。
但现在可能流量不是守恒的,让t[i]=流入量-流出量
我们建出虚拟的源点和汇点,如果t[i]>0,源点向i连t[i]的边,否则i点向汇点连-t[i]的边,看是否满流即可
注意,把下界干掉时,不是真的流过去,反向边不用动。因为这里不能反悔。
有源汇上下界可行流
T到S连一条inf的边e。然后同上。
设e的最终流量是w,则原图的可行流就是w
证明:
S,T本身没有入边、出边,那么e的流量就是S流出的,流到T的流量。
拆掉这个边,每个边流量加上下界
由于剩下的图中,满足流量守恒和上下界,那么一定是一个合法的网络流流量分配,那么S流出的流量w就是总流量
无源汇上下界最小费用可行流
干掉下界的时候,把费用先计算上。
把超级源超级汇求最大流的一步,换成最小费用最大流即可。
即满足合法的前提下,最小化费用。
费用就是之前的费用加上这次的费用。
例题:[NOI2008]志愿者招募
有源汇上下界最小费用可行流
t到s是(inf,0)的边。
同上。
有源汇上下界(最小费用)最大流
先求可行流
现在流量已经守恒了。
拆掉t到s的边
残量网络上求s到t的最大流即可。
因为最大流过程一定满足流量守恒,所以依然合法。所以求可行流的反向边流量可以保留,支持反悔。
最大流=可行流+s到t的增加的最大流
如果涉及最小费用,把所有的最大流换成最小费用最大流即可。
记得统计三次费用。
有源汇上下界(最小费用)最小流
https://blog.csdn.net/Hanks_o/article/details/77995557
两种方法。
第一种:
直接类比上面的 有源汇上下界(最小费用)最大流
理解一下反边,就是反悔。
t到s的最大流,就是s到t能减少的最多的流量。
所以最后一步,求t到s的最大流。
最小流=可行流-t到s的最大流。
第二种:(并不如第一个好理解)
类似 <有源汇上下界可行流> 的构图方法,但是不添加T到S的边,求一次超级源到超级汇的最大流。
加边(T,S,0,+∞),在上一步残量网络基础上再求一次超级源到超级汇的最大流。
流经T到S的边的流量就是最小流的值。
该算法的思想是在第一步中尽可能填充循环流,以减小最小流的代价。
第二步最大流为了保证合法性。
其实相当于,第一步先占据一些循环流,然后再跑完第二个最大流之后,删掉t到s的边,对于一些第一步构成的循环流,删掉。
观察现在实际的图流量分配,就是最小流了。
例题: P4843 清理雪道
转载于:https://www.cnblogs.com/Miracevin/p/10132570.html
[学习笔记]上下界网络流相关推荐
- 学习上下界网络流小记
前言 这个上下界网络流是一个以前我这个巨弱弱想都不敢想的一个东西. 然而,最近一次比赛居然考了这个东东. 于是整个机房掀起了破烂学上下界网络流的热. 那么我也来学学. 预备知识 要懂得很多很多的网络流 ...
- [BZOJ2502]清理雪道 有上下界网络流(最小流)
2502: 清理雪道 Time Limit: 10 Sec Memory Limit: 128 MB Description 滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有 ...
- 有上下界网络流 ---- Zoj3229 Shoot the Bullet|东方文花帖|【模板】有源汇上下界最大流
学习资料+题目链接 题目大意: 模板讲解 #include <bits/stdc++.h> #define mid ((l + r) >> 1) #define Lson rt ...
- 有上下界网络流 ---- P4843 清理雪道(DAG图上最小路径重复边覆盖)【模板】有源汇上下界最小流
题目链接 题目大意: 解题思路: 首先我们发现对于每条边至少要覆盖一次,最多覆盖无数次 那么就有点像上下界网络流了[1,INF][1,INF][1,INF]的限制关系 跑一边最小流就可以了!! #in ...
- 【有上下界网络流】【ZOJ】2314 Reactor Cooling
[算法]有上下界网络流-无源汇(循环流) [题解]http://www.cnblogs.com/onioncyc/p/6496532.html //未提交 #include<cstdio> ...
- 有上下界的网络流1-无源汇带上下界网络流SGU194
有上下界的网络流1-无源汇带上下界网络流SGU194 今天开始啃网络流了.对于求解无源汇带上下界的网络流,我们可以这样建图: 建图模型: 以前写的最大流默认的下界为0,而这里的下界却 ...
- 上下界网络流-无源汇可行流与有源汇最大流
上下界网络流 2021.9.3 无源汇上下界可行流 之前的最大流讨论一般为有源无下届情况,那么无源汇有上下界可行流应如何求解? 首先要做的是消除下边界,应如何做?在有下届情形下,流网络中的任意一条边的 ...
- [上下界网络流][二分] Bzoj P2406 矩阵
题目描述 输入输出格式 输入格式: 第一行两个数n.m,表示矩阵的大小. 接下来n行,每行m列,描述矩阵A. 最后一行两个数L,R. 输出格式: 第一行,输出最小的答案: 输入输出样例 输入样例#1: ...
- P2304 [NOI2015] 小园丁与老司机(网络流/上下界网络流)
P2304 [NOI2015] 小园丁与老司机 平面上有n个点,每次可以向左.右.上.左上45度.右上45度移动,然后直线移动到达第一个没有到过的点,如果没有这样的点就不能移动,求解一条最长路,然后求 ...
最新文章
- JSP内置对象-page
- 寻找优秀的程序员之实战指南-1
- 不用卷积也能生成清晰图像,用两个Transformer构建一个GAN
- 定位的坐标原点HTML,html 定位
- 链表之单链表约瑟夫问题(一)
- hive三种调用方式
- 作者:潘永花,阿里数据经济研究中心秘书长,阿里研究院高级专家。
- LWIP之TCP协议
- 调用别人服务器运行本地文件方法
- matlab是以什么运算为基础,matlab基础运算
- android以view建坐标系,android自定义View——坐标系
- Java绿盾解密- Ldterm(绿盾加密文件解密)
- jQuery实现留言板功能
- 阿里职位层级(附P级详细要求)
- 从吴军的书《格局》总结出的37条为人方法论
- 永远不要和沙雕一样的人去争论,争论最后你会发现你也是一个沙雕
- 算法提高——JOE的算数
- 学习 Python 可以快速赚钱吗?
- 企业微信app中退出某个企业 最新版 图文
- checkBox 选中 移除