上下界网络流

这几个问题难度几乎 逐渐递增

  • 无源汇上下界可行流:先把下界流出来,每个点可能流量不守恒,如果某个点 出-入>0,那么它需要流向其他点(建立一个超级汇点TT),反之用超级源点连向它,对应的容量就是这个差值。跑一个最大流,如果超级源汇点能跑满就意味着可行
  • 有源汇上下界可行流:相比之前多钦定了源汇点,直接说建模方式,连一条 \((t,s,+\infty)\) 的边,并且最终 \(t\to s\) 的流量就是对应的流。这一点只要考虑点的流量:原问题要求有源汇的流,相当于 \(s\)出-入,而不加这条边的时候保持了每个点流量平衡,但对源汇点是不需要这个平衡的,加入之后流向 \(s\) 的流量= \(s\) 在原图中多流出的流量,就是要求的流。
  • 有源汇上下界最大流:跑完可行流后,如果有 \(s\to t\) 的增广路,则一定不会经过 SS或TT,删去 \(t\to s\) 的边,跑一个 \(s\to t\) 的最大流,这个最大流+可行流就是答案。
  • 有源汇上下界最小流:依然是删去 \(t\to s\) 的边,跑 \(t\to s\) 的最大流,这个可行流-这个逆流就是答案。
posted @ 2024-08-21 00:57  yoshinow2001  阅读(11)  评论(0编辑  收藏  举报