zoukankan      html  css  js  c++  java
  • 网络流简介

    网络流

    网络

    区分两个概念:网络(或者流网络 Flow Network)与网络流(Flow)的概念。

    网络是指一个有向图(G = (V,E))

    每条边((u,v) in E) 都有一个权值(c(u,v)),称之为容量,当((u,v) otin E)时有(c(u,v)=0)

    其中有两个特殊的点:源点(s in V)和汇点(t in V)((s ot= t))

    (f(u,v))定义在二元组((u in V,v in V)) 上的实数函数且满足以下性质:

    • 容量限制:对于每条边,流经该边的流量不得超过该边的容量,即,(f(u,v) leq c(u,v))

    • 斜对称性:每条边的流量与其相反边的流量之和为0,即(f(u,v) = -f(v,u))

    • 流守恒性:从源点流出的流量等于汇点流入的流量,即

      [forall x in V - (s,t),sum_{(x,v) in E}f(u,x) = sum _{(x,v) in E}f(x,v) ]

    那么(f)称为网络(G)的流函数。对于((u,v) in E,f(u,v))称为边的流量(c(u,v) - f(u,v))称为边的剩余容量。整个网络的流量为(sum _{(s,v) in E}f(s,v)),即从源点出发的所有流量之和

    一般而言可以把网络流理解为整个图的流量。而这个流量未必满足上述三个性质。

    流函数的完整定义为

    [f(u,v) = left{ egin{aligned} f(u,v) ,(u,v) in E \ -f(v,u),(v,u) in E \ 0,(u,v) otin E,(v,u) otin E end{aligned} ight. ]

    网络流常见问题

    网络流问题中常见的有以下三种:最大流,最小割,费用流

    最大流

    我们有一张图,求从源点流向汇点的最大流量(可以有很多条路到达汇点),就是我们的的最大流。

    最小费用最大流

    最小费用最大流问题是这样的:每条边都有一个费用,代表单位流量流过这条边的开销。我们要在求出最大流的同时,要求花费的费用最小。

    最小割

    割就是删边的意思,当然最小割就是删掉(X)条边来让(S)(T)不互通,我们要求从(X)条边加起来的流量综合最小。这就是最小割问题。

  • 相关阅读:
    CF733F
    P4826
    洛谷P2687 & P1108
    CF42A
    洛谷P1858
    CF1428C
    洛谷P4981
    树形DP
    背包六讲(也不知道为啥就是六个 $QwQ$)
    2020
  • 原文地址:https://www.cnblogs.com/excellent-zzy/p/12231880.html
Copyright © 2011-2022 走看看