日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[学习笔记]上下界网络流

發(fā)布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [学习笔记]上下界网络流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有的時候,網絡流建模要考慮某些邊必須選擇若干次,又不能多于若干次,而且不太容易轉化成比較好的限制模型,

就簡單粗暴地給每條邊定一個流量的上下界,求在滿足上下界的基礎上的一些問題。

大概有以下幾種。

基本思路都是先滿足下界,再調整流量守恒,一邊滿足最優(yōu)性。

?

無源匯上下界可行流

每條邊的流量有上下界
問是否存在一種可行方案

?

首先我們要保證每個點的流入流量等于流出流量
如果存在一個可行流,那么一定滿足每條邊的流量都大于等于流量的下限.因此我們可以令每條邊的流量等于流量下限,得到一個初始流,然后建出這個流的殘量網絡,每條邊的流量等于上限減下限。
但現在可能流量不是守恒的,讓t[i]=流入量-流出量
我們建出虛擬的源點和匯點,如果t[i]>0,源點向i連t[i]的邊,否則i點向匯點連-t[i]的邊,看是否滿流即可

?

注意,把下界干掉時,不是真的流過去,反向邊不用動。因為這里不能反悔。

?

有源匯上下界可行流

T到S連一條inf的邊e。然后同上。

設e的最終流量是w,則原圖的可行流就是w

證明:

S,T本身沒有入邊、出邊,那么e的流量就是S流出的,流到T的流量。

拆掉這個邊,每個邊流量加上下界

由于剩下的圖中,滿足流量守恒和上下界,那么一定是一個合法的網絡流流量分配,那么S流出的流量w就是總流量

?

無源匯上下界最小費用可行流

干掉下界的時候,把費用先計算上。

把超級源超級匯求最大流的一步,換成最小費用最大流即可。

即滿足合法的前提下,最小化費用。

費用就是之前的費用加上這次的費用。

例題:[NOI2008]志愿者招募

?

有源匯上下界最小費用可行流

t到s是(inf,0)的邊。

同上。

?

有源匯上下界(最小費用)最大流

先求可行流

現在流量已經守恒了。

拆掉t到s的邊

殘量網絡上求s到t的最大流即可。

因為最大流過程一定滿足流量守恒,所以依然合法。所以求可行流的反向邊流量可以保留,支持反悔。

最大流=可行流+s到t的增加的最大流

?

如果涉及最小費用,把所有的最大流換成最小費用最大流即可。

記得統(tǒng)計三次費用。

?

有源匯上下界(最小費用)最小流

https://blog.csdn.net/Hanks_o/article/details/77995557

兩種方法。

第一種:

直接類比上面的 有源匯上下界(最小費用)最大流

理解一下反邊,就是反悔。

t到s的最大流,就是s到t能減少的最多的流量。

所以最后一步,求t到s的最大流。

最小流=可行流-t到s的最大流。

?

第二種:(并不如第一個好理解)

類似 <有源匯上下界可行流> 的構圖方法,但是不添加T到S的邊,求一次超級源到超級匯的最大流。
加邊(T,S,0,+∞),在上一步殘量網絡基礎上再求一次超級源到超級匯的最大流。
流經T到S的邊的流量就是最小流的值。


該算法的思想是在第一步中盡可能填充循環(huán)流,以減小最小流的代價。

第二步最大流為了保證合法性。

其實相當于,第一步先占據一些循環(huán)流,然后再跑完第二個最大流之后,刪掉t到s的邊,對于一些第一步構成的循環(huán)流,刪掉。

觀察現在實際的圖流量分配,就是最小流了。

?

例題: P4843 清理雪道

?

轉載于:https://www.cnblogs.com/Miracevin/p/10132570.html

總結

以上是生活随笔為你收集整理的[学习笔记]上下界网络流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。