zoukankan      html  css  js  c++  java
  • 上下界网络流总结

    首先任何有下界的边都要先记录下界的入度和与出度和,记作$in$和$out$。
    然后对于点$i$:
    如果$in[i]>out[i]$,则建边$(ss o i,in[i]-out[i])$
    如果$in[i]<out[i]$,则建边$(i o tt,out[i]-in[i])$
    下面再分情况讨论其他的建边。


    # Case #1:无源汇上下界可行流
    跑$ss$到$tt$的最大流。

    结论:如果能使$ss$临边全部满流就存在可行流。对应每条边在原图的流量是下界+流过去的流量。

    # Case #2:有源汇上下界可行流
    建边$(t o s,+infty)$,跑$ss$到$tt$的最大流。

    结论同上:如果能使$ss$临边全部满流就存在可行流。原图的总流量就是边$(t o s,+infty)$的流量。对应每条边在原图的流量是下界+流过去的流量。

    # Case #3:有源汇上下界最大流
    建边$(t o s,+infty)$,跑$ss$到$tt$的最大流。记边$(t o s,+infty)$的流量为$f1$

    断掉边$(t o s,+infty)$,跑$s$到$t$的最大流$f2$。

    结论同上:如果能使$ss$临边全部满流就存在可行流。原图的总流量就是$f1+f2$。对应每条边在原图的流量是下界+流过去的流量。

    # Case #4:有源汇上下界最小流
    先不建边$(t o s,+infty)$,跑$ss$到$tt$的最大流看是否可行。

    然后建边$(t o s,+infty)$,跑$ss$到$tt$最大流。此时边$(t o s,+infty)$的流量就是原图最小流。对应每条边在原图的流量是下界+流过去的流量。

  • 相关阅读:
    scrapy+selenium 爬取淘宝商城商品数据存入到mongo中
    selenium+pyquery爬取淘宝商品信息
    分词及词云图设计
    算法梳理
    数据存储
    list,tuple,set,dict基础
    html页面嵌套---分享功能
    JAVA集合操作异常 ---------Collections.unmodifiableCollection
    SpringCloud---Feign上传下载详解
    Beanutils.copyProperties( )的使用与优化
  • 原文地址:https://www.cnblogs.com/Orz-IE/p/12039169.html
Copyright © 2011-2022 走看看