(转)一句话小结各种网络流)

最大流:DINIC or SAP

最小费用最大流:SPFA+增广(费用的值较离散) or ZKW(费用的值集中)

有源汇的上下界最大流:新建s‘, t‘,用(i, j, l, r)表示i到j有一条下界为l上界为r的边,将每条这样的边拆成(s‘, j, 0, l), (i, t‘, 0, l), (i, j, 0, r-l),加入边(t, s, 0, max)再从s‘到t‘求最大流,再去掉(t, s, 0, max)这条边,从s到t求最大流

有源汇的上下界最小可行流:基本同上,将最后一步改成从t到s反求一遍最大流来退流;也可以二分(t, s, 0, max)这条边的容量

有源汇的上下界最小费用可行流:拆边方法同上,从s‘向t‘求一遍最小费用最大流

有源汇的上下界最小费用最大流:基本同上,还要再s向t求一遍最小费用最大流(*这个是自己YY的,可能不对,求指教)

无源汇的最大流(无向图全局最小割):Stoer-Wagner算法

无源汇的所有点对间最大流:分治,在当前点集内随便选两个点求最小割,用这个割更新一遍所有跨在两边的点对(不一定只是当前点集内的点),再将自己的点集割成两部分,递归做

无源汇的上下界可行流:拆边,直接从s‘到t‘跑一遍最大流

无源汇的上下界最小费用可行流:拆边,直接从s‘到t‘跑一遍最小费用最大流

平面图最小割转最短路:将平面区域当成点,两个点之间的边权为原来这两个平面区域之间的边的容量,补上一条汇到源的正无穷边之后,求这条正无穷边的一边到另一边的最短路

还有吗?

(转)一句话小结各种网络流),布布扣,bubuko.com

时间: 2024-10-09 20:36:42

(转)一句话小结各种网络流)的相关文章

小结:网络流

概要: 这货很强大啊.isap和dinic都算很快的算法,目前貌似卡不了?spfa在费用流中找增广路.上下界的网络流可以用分离必要弧来做. 应用: 解决许多多约束最优化的问题. 技巧及注意: 网络流在于建模,但是首先得有个基础. 上下界网络流:整体思想就是分离下界,将原边连成上界-下界,终点的界和+=这个下界,起点的界和-=这个下界.处理完后,然后扫这些点,如果界和大于0,附加源连这个点容量为界和,反之连到附加汇容量为界和绝对值.具体看有上下界的网络流问题.

图论专题小结:网络流算法之ISAP算法

ISAP算法 ISAP(Improved Shortest Augument Path)算法是改进版的SAP算法,如果对效率要求很高的时候,可以用该算法. (1)概述:算法基于这样的一个事实:每次增广之后,任意结点到汇点(在残余网络中)的最短距离都不会减小.这样,我们可以利用d[i[表示结点i到汇点的距离的下界.然后再增广过程当中不断地修改这个下界.增广的时候和Dinic算法类似,只允许沿着d[i]==d[j]+1的弧(i,j)走. 不难证明,d[i[满足两个条件:(1)d[t]=0;(2)对任

[bzoj1565][NOI2009]植物大战僵尸_网络流_拓扑排序

植物大战僵尸 bzoj1565 题目大意:给你一张网格图,上面种着一些植物.你从网格的最右侧开始进攻.每个植物可以对僵尸提供能量或者消耗僵尸的能量.每个植物可以保护一个特定网格内的植物,如果一个植物被保护,那么如果僵尸想吃掉该植物就必须先吃掉保护它的植物.问:僵尸最多能获得多少能量. 注释:1<=N(网格的宽)<=20,1<=M(网格的长)<=30,-20,000<=代价和收益<=20,000. 想法:前置题目([NOI2006]最大获利).这道题和最大获利比较相像,如

一文贯通python文件读取

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; -webkit-hyphens: auto; font: 24.0px 'Helvetica Neue'; color: #3e3e3e; -webkit-text-stroke: #3e3e3e} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; -webkit-hyphens: auto; font: 16.0px 'Helvetica Neue'; color: #8c8c8c; -w

Memcached Redis相关的干货

为了以后查阅方便,所以转了各位的博文,感谢各位原博主. http://www.searchtb.com/2011/05/redis-storage.html           redis内存存储结构分析 http://blog.csdn.net/tonysz126/article/details/8280696/        redis与memcached的区别 http://kenby.iteye.com/blog/1423989                              

span与a元素的键盘聚焦性以及键盘点击性研究——张鑫旭

一.众所周知的与不为所知的 我们平时涉及点击交互事件的时候,都是使用的a元素或者button元素,原因是可以相应键盘focus效果以及回车触发点击事件,这是众所周知的. 但是,可能存在一些特殊情况,我们需要使用默认没有键盘可访问性的元素,例如span元素,我们可以通过一定的设置支持键盘的可访问性,这是不为所知的,也是本文的重点所在. 二.span元素处理与测试 要让一个普通的span元素达到一个含button元素的键盘可访问性,我们需要如下处理: 首先,很显然的,绑定点击事件: 给元素设置tab

2招搞定压力,远离焦虑失眠狂躁

转自 作者:foruok 链接:http://www.jianshu.com/p/3f15766ec487 來源:简书 压力管理 本文以技术管理者为例来讲压力管理,实际上提到的 ABC .暂停.宣泄等方式适用于大多数人. 心理学家 Richard S. Lazarus(拉扎勒斯)提出:压力是由于事件和责任超出个人应对能力范围时所产生的焦虑状态(紧张状态). 当一位开发者刚刚走上管理岗位时,极容易产生压力--原来他只需要管理好自己,搞定开发任务即可,现在他不但要搞定自己,还要管理下属,还要与产品.

Redis工作系列之一 与 Memcached对比理解

     近期公司项目在使用Redis,这几年Redis很火,Redis也常常被当作Memcached的挑战者被提到桌面上来.关于Redis与Memcached的比较更是比比皆是.然而,Redis真的在功能.性能以及内存使用效率上都超越了Memcached吗? You should not care too much about performances. Redis is faster per core with small values, but memcached is able to u

Redis使用总结之与Memcached异同

Redis是什么?两句话可以做下概括: 1. 是一个完全开源免费的key-value内存数据库     2. 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings.map. list.sets. sorted sets Redis不是什么?同样从两个方面来做下对比:     1. 不是sql server.mySQL等关系型数据库,主要原因是:          . redis目前还只能作为小数据量存储(全部数据能够加载在内存中) ,海量数据存储方面并不是redis所擅