zoukankan      html  css  js  c++  java
  • 与网络流相关算法

    一.无源汇有上下界可行流

    1.假设所有边都流满下界,将原边流量变为上界-下界

    2.发现有的点流量不守恒,这样我们就要给它补流或导流。

    3.新建源点和汇点,对于在下界中的流 流入>流出 的点为它导出 流入-流出 的流,否则为其补上 流出-流入 的流。

    4.在新建出的图中跑最大流,如果新加的所有边都满流则可行。

    二.有源汇有上下界可行流

    1.添加一条从汇到源,下界为0,上界为inf的边

    2.转变为无源汇有上下界可行流。

    3.可行流流量=t-s无穷边跑出的流量

    三.有源汇有上下界最大流

    1.跑出有源汇有上下界可行流

    2.在残量网络上跑出s-t最大流

    3.总的最大流=可行流+ s-t最大流

    四.有源汇有上下界最小流

    1.跑出有源汇有上下界可行流

    2.在残量网络上跑出t-s最大流

    3.最小流=可行流- t-s最大流

    五.有源汇有上下界费用流

    1.按照有源汇可行流建图

    2.跑出ss-tt费用流即为答案

    六.最小割树

    定义:定义一棵树T为最小割树,如果对于树上的所有边(s,t),树上去掉(s,t)后产生的两个集合恰好是原图上(s,t)的最小割把原图分成的两个集合,且边(u,v)的权值等于原图上(u,v)的最小割

    构造:

    1.在当前点集中随意选取两个点,求出它们在原图上的最小割,连接两点的边权即为它们的最小割

    2.最小割将当前点集割为两个集合,递归处理。

    查询:

    原图上u,v两点最小割就是最小割树上u到v的路径上权值最小的边

  • 相关阅读:
    unittest生成html测试报告
    excel类封装
    023-linux(2)
    016-WebDriver API(2)
    015-WebDriver API
    014-unittest扩展
    013- unittest单元测试框架
    011-python列表,元组,字典的用法
    010-利用Selenium+python自动输入博客账号密码登录
    009-python一些问题整理
  • 原文地址:https://www.cnblogs.com/lnsyphy/p/12212984.html
Copyright © 2011-2022 走看看