网络流
来源:互联网 发布:淘宝批量修改运费模板 编辑:程序博客网 时间:2024/05/18 03:51
零、
最大流ISAP http://blog.csdn.net/yuer158462008/article/details/38470281
最小费用最大流 http://blog.csdn.net/yuer158462008/article/details/38473561
一、求最小割集
反向bfs进行标记
http://paste.ubuntu.com/12211833/
二、无源汇上下界可行流
/*
无源汇上下界可行流:
边side(u,v)有流量上界up,下界low,构造的图使该边流量为up-low,
u节点出流量low,v节点入流量low,
用du[i]表示 i 节点入流之和与出流之和的差
加上附加源点 S 汇点 T,如 du[i]>0,S->i 连容量为 du[i]的边;
反之连,i->T 容量为-du[i]的边。
求 S-T 最大流,判断是否满流
*/
http://paste.ubuntu.com/12211840/
三、有源汇上下界最大流
/*
有源汇上下界最大流:
首先判断是否存在满足所有边上下界的可行流,
方法可以转化成无源汇有上下界的可行流问题。
设源点汇点为 S 和 T,添加边 T->S,容量[0,INF],
于是构造成了一个无源汇点的循环流。
添加超级源汇 SS,TT 然后求可行流,判断是否有解。
如果有可行流,删掉 超级源汇SS,TT。
求 S-T 最大流即是答案
*/
http://paste.ubuntu.com/12211848/
四、有源汇上下界最小流
/*
有源汇上下界最小流:
设 du[i]表示 i 节点入流之和与出流之和的差
然后添加附加源汇 SS,TT,如果 du[i]>0,添加 SS->i 容量
du[i],如果 du[i]<0,添加 i->TT 容量-du[i]。
求 SS->TT 最大流,记录流量;
添加边 T->S,容量为无穷大
求 SS->TT 最大流,记录流量;
累计这两次的流量,判断是否满流,即有无可行解
最后:T->S 的反向弧上的流量即为 S->T 的最小流
*/
有源汇上下界最小流:
设 du[i]表示 i 节点入流之和与出流之和的差
然后添加附加源汇 SS,TT,如果 du[i]>0,添加 SS->i 容量
du[i],如果 du[i]<0,添加 i->TT 容量-du[i]。
求 SS->TT 最大流,记录流量;
添加边 T->S,容量为无穷大
求 SS->TT 最大流,记录流量;
累计这两次的流量,判断是否满流,即有无可行解
最后:T->S 的反向弧上的流量即为 S->T 的最小流
*/
http://paste.ubuntu.com/12212331/
0 0
- 【网络流】网络扩容
- 网络流
- 网络流
- 网络流
- 网络流
- 网络流
- 网络流
- 网络流
- 【网络流】
- 【网络流】
- 网络流
- 网络流
- 网络流
- 网络流
- 网络流
- 网络流
- 网络流
- 网络流
- Andriod Fragment——给Activity添加一个Fragment
- 【转】 只能输入数字, 正则限制input框只能输入数字,英文等
- mysql索引浅谈
- HDU 4643 GSM(计算几何求线段的中垂线)
- LIS LCS LCIS
- 网络流
- <img src="" onerror="alert('xss')"/>
- qt unicode编码到16进制符号字符串
- fastdfs group通过添加硬盘扩容
- 近期计划
- 设置SVN忽略文件和目录(文件夹)
- (int)a、&a、(int)&a、(int&)a的区别
- 深度学习(Deep Learning)算法简介
- 二分查找