网络流

网络流

  • 无源汇上下界,可行流。

    • 我们考虑边 \(u\to v\) 流量为 \([l,r]\)
    • 对于 \(u\) 点来说,相当于在 \(u\) 处加一条 \(u\to T\) 流量为 \([0,l]\) 的边,用来吞掉 \(l\) 的流量,才可以把 \(u\to v\) 的流量设为 \([0,r-l]\)
    • 对于 \(v\) 点来说,相当于在 \(v\) 处加一条 \(S\to u\) 流量为 \([0,l]\) 的边,表示我会莫名奇妙的多 \(l\) 的流,才可以把 \(u\to v\) 设为 \([0,r-l]\)
    • \(S,T\) 的出流量,和入流量正好相等,我们只需要保证跑完网络流之后流满即可。
  • 有源汇上下界,可行流。

    • 我不知道存不存在这种东西,要是非要作的话,是不是加一条 \(T\to S\) 流量为 \([0,inf]\) 的边跑无源汇上下界,可行流即可。
  • 有源汇上下界最大流,先跑出一个可行流,然后考虑在上面调整,具体的就是删掉边 \(T\to S\) 然后跑,\(S,T\) 的最大流。其实就是在可行的基础上还能多少。然后把可行流上 \(T\to S\) 的流量加上,后面最大流的流量即可。

  • 有源汇上下界最小流,和最大流一样,先跑出一组可行,然后跑 \(S'=T,T'=S\) 的最大流,相当于在连流网络在尽可能反悔。于是把可行流上 \(T\to S\) 的流量加上,减去后面最大流的流量即可。

posted @ 2025-04-23 08:01  LUHCUH  阅读(12)  评论(0)    收藏  举报