有的时候,网络流建模要考虑某些边必须选择若干次,又不能多于若干次,而且不太容易转化成比较好的限制模型,

就简单粗暴地给每条边定一个流量的上下界,求在满足上下界的基础上的一些问题。

大概有以下几种。

基本思路都是先满足下界,再调整流量守恒,一边满足最优性。

无源汇上下界可行流

每条边的流量有上下界
问是否存在一种可行方案

首先我们要保证每个点的流入流量等于流出流量
如果存在一个可行流,那么一定满足每条边的流量都大于等于流量的下限.因此我们可以令每条边的流量等于流量下限,得到一个初始流,然后建出这个流的残量网络,每条边的流量等于上限减下限。
但现在可能流量不是守恒的,让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

[学习笔记]上下界网络流相关推荐

  1. 学习上下界网络流小记

    前言 这个上下界网络流是一个以前我这个巨弱弱想都不敢想的一个东西. 然而,最近一次比赛居然考了这个东东. 于是整个机房掀起了破烂学上下界网络流的热. 那么我也来学学. 预备知识 要懂得很多很多的网络流 ...

  2. [BZOJ2502]清理雪道 有上下界网络流(最小流)

    2502: 清理雪道 Time Limit: 10 Sec  Memory Limit: 128 MB Description 滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有 ...

  3. 有上下界网络流 ---- Zoj3229 Shoot the Bullet|东方文花帖|【模板】有源汇上下界最大流

    学习资料+题目链接 题目大意: 模板讲解 #include <bits/stdc++.h> #define mid ((l + r) >> 1) #define Lson rt ...

  4. 有上下界网络流 ---- P4843 清理雪道(DAG图上最小路径重复边覆盖)【模板】有源汇上下界最小流

    题目链接 题目大意: 解题思路: 首先我们发现对于每条边至少要覆盖一次,最多覆盖无数次 那么就有点像上下界网络流了[1,INF][1,INF][1,INF]的限制关系 跑一边最小流就可以了!! #in ...

  5. 【有上下界网络流】【ZOJ】2314 Reactor Cooling

    [算法]有上下界网络流-无源汇(循环流) [题解]http://www.cnblogs.com/onioncyc/p/6496532.html //未提交 #include<cstdio> ...

  6. 有上下界的网络流1-无源汇带上下界网络流SGU194

    有上下界的网络流1-无源汇带上下界网络流SGU194 今天开始啃网络流了.对于求解无源汇带上下界的网络流,我们可以这样建图: 建图模型:          以前写的最大流默认的下界为0,而这里的下界却 ...

  7. 上下界网络流-无源汇可行流与有源汇最大流

    上下界网络流 2021.9.3 无源汇上下界可行流 之前的最大流讨论一般为有源无下届情况,那么无源汇有上下界可行流应如何求解? 首先要做的是消除下边界,应如何做?在有下届情形下,流网络中的任意一条边的 ...

  8. [上下界网络流][二分] Bzoj P2406 矩阵

    题目描述 输入输出格式 输入格式: 第一行两个数n.m,表示矩阵的大小. 接下来n行,每行m列,描述矩阵A. 最后一行两个数L,R. 输出格式: 第一行,输出最小的答案: 输入输出样例 输入样例#1: ...

  9. P2304 [NOI2015] 小园丁与老司机(网络流/上下界网络流)

    P2304 [NOI2015] 小园丁与老司机 平面上有n个点,每次可以向左.右.上.左上45度.右上45度移动,然后直线移动到达第一个没有到过的点,如果没有这样的点就不能移动,求解一条最长路,然后求 ...

最新文章

  1. JSP内置对象-page
  2. 寻找优秀的程序员之实战指南-1
  3. 不用卷积也能生成清晰图像,用两个Transformer构建一个GAN
  4. 定位的坐标原点HTML,html 定位
  5. 链表之单链表约瑟夫问题(一)
  6. hive三种调用方式
  7. 作者:潘永花,阿里数据经济研究中心秘书长,阿里研究院高级专家。
  8. LWIP之TCP协议
  9. 调用别人服务器运行本地文件方法
  10. matlab是以什么运算为基础,matlab基础运算
  11. android以view建坐标系,android自定义View——坐标系
  12. Java绿盾解密- Ldterm(绿盾加密文件解密)
  13. jQuery实现留言板功能
  14. 阿里职位层级(附P级详细要求)
  15. 从吴军的书《格局》总结出的37条为人方法论
  16. 永远不要和沙雕一样的人去争论,争论最后你会发现你也是一个沙雕
  17. 算法提高——JOE的算数
  18. 学习 Python 可以快速赚钱吗?
  19. 企业微信app中退出某个企业 最新版 图文
  20. checkBox 选中 移除

热门文章

  1. Exynos4412 文件系统制作(二)—— 文件系统简介
  2. ubuntu server修改系统时区和系统时间
  3. Linux C获取文件属性
  4. Linux系统开机自动加载驱动module
  5. ISCSI 1-由零开始
  6. [react] react中什么是受控组件?
  7. Leetcode刷题(5)最长公共前缀
  8. Taro+react开发(27)别加view
  9. 前端学习(2022)vue之电商管理系统电商系统之创建order分支
  10. 前端学习(1806):前端调试之列表伪类练习二