zoukankan      html  css  js  c++  java
  • 网络流学习

    1.最大流最小割定理
    割的容量:所有割边中正向边的容量和
    定理一:如果f是网络中的一个流,CUT(S,T)是任意一个割,那么f的值不超过割CUT(S,T)的容量。(任意割容量>=任意流流量)
    感性理解,一个割上的边(包括正向边和反向边),f最接近割的容量的时候就是割上的所有边都是正向边,且全部跑满,其他情况不会优于这种情况,而这种情况下f=CUT(S,T)的容量。
    那么,就有一个结论:如果有一个割等于流,那么这个割是最小割,流是最大流。
    我们只需要提出一种可行的构造方案来找到这样的一个割即可。
    定理二:对于一个流,如果它为最大流,那么,这时候网络中已经没有了增广路。
    证明逆否命题,如果若G中存在增广路,则f不是最大流的流量,而根据增广路的定义,这是显然的。
    PS:增广路:就是一条有向路径,路径上各点剩余容量>0,当没有增广路时,就说明S和T不连通。
    而我们来研究最大流的这张网络,把从S开始能到达的点分做一个集合,剩下的点分作另一个集合,我们可以得出,通过这样的方法得到的割,正向边全部跑满(否则可以继续向外延伸),这时我们构造的这个割的容量=最大流流量,由上文推知这是最小割。

    2.算法
    EK:广搜找一条增广路,复杂度O(nm^2)

    Dinic:广搜分层,深搜找增广路,增广路只在相邻层找。

    3.24题
    1.运输问题
    建超源,汇。构建二分图模型,源向仓库连容量ai的边,零售商店向汇连bi的边,仓库和零售商店之间连容量为inf,费用为cij的边,费用流。
    2.数字梯形问题
    显然,数字要在边上,所以一个想法就是把一个点拆成入点和出点,入点和出点之间连容量为1,费用为数字大小的边,转移和原点的连边很简单,就不说了。

  • 相关阅读:
    转:JMeter5的If Controller操作解析
    .NET Core优秀的应用逻辑分层框架设计
    socket阻塞导致拿不到信息
    2018年开始了,我们还是说说2017吧
    PHP 学习 遇到坑的第一章
    记一次高并发情况,服务器和代码修改过程记录。
    IIS 提高连接的并发数,和CPU的使用率。
    2017年总结
    在 safari 浏览器 onclick 出现延迟的现象
    微信JS-api 注意事项
  • 原文地址:https://www.cnblogs.com/thedreammaker/p/12430893.html
Copyright © 2011-2022 走看看