網路流24題

2022-07-06 18:57:09 字數 2161 閱讀 3292

本篇博文大多數全部都是口胡

目錄傳送門

將每乙個點轉換成為\(2^\)種狀態,之後暴力bfs即可

傳送門明顯的乙個二分圖匹配問題

如果是直接匈牙利,就沒有這麼多的問題

如果是網路流的話,看每一條邊是不是滿流

建乙個超級原點和超級匯點即可

傳送門跟孤島營救一樣的辦法,將每乙個點拆成\(2^n\)個點,表示當前的錯誤狀態數,

之後用\(dij\)硬跑最短路即可

傳送門每個點的最終狀態是一定的,所以我們可以很方便的得知每乙個點最終會丟失貨物或者得到貨物

如果是丟失貨物,那麼就讓超級原點連一條\((inf,0)\)的邊(流量&費用),

如果是得到貨物,那麼就讓這個點向超級匯點連一條\((inf,0)\)的邊

之後就是貨物在倉庫中的運送,只需要向\((i-1)和(i+1)\)連一條\((inf,1)\)的邊,跑最小費用最大流流,因為只有最大流才能保證所有的倉庫都滿足條件

傳送門分析一下問題,最關鍵的條件在於乙個點只能被\(k\)條邊覆蓋,

細想,我們並不關心線段的狀態,只關心乙個點的狀態,

先考慮被\(k\)條邊覆蓋,我們可以從原點連一條邊,流量限制為\(k\),

之後再從這個點連向一條邊,流量為\(1\),那麼問題就來了,一條邊如果不滿流怎麼辦?

那麼就換成從邊入手,由超級原點流向邊,再由邊連向\(l\),再由 \(l\)連向\(l+1\),最後從\(r\)出來,連向超級匯點,流量限制為\(1\),這樣可以保證一定會讓所有被線段覆蓋到的點都由流量,考慮到乙個點最多被覆蓋\(k\)次,所以點和點之間的連邊的流量限制為\(k\),這樣就可以滿足每乙個點最多覆蓋\(k\)次的條件,

然後就是長度的問題,長度的問題可以轉換為費用,原點連向邊,費用為\(len\),流量為\(1\),其他邊的費用自然就是\(0\),最後跑乙個最大費用最大流

傳送門最容易想到的是匹配問題,除非你能用km直接秒掉

那麼之後就是效益的問題,在邊上增加權值就行了

然後就是最小費用最大流和最大費用最大流

傳送門正向不行反向來搞

選出的數和最大=所有數的和-未選出的數的和

因為這裡天生就已經分出了兩個集合(選出和為選出),也許可以嘗試將題目向割上面轉換

首先考慮題目中的限制條件,很容易就可以將點分成兩類,橫縱座標奇偶性相同和橫縱座標奇偶性不同,因為每一類的內部都不可能互相限制,相同的稱之為\(a\),不同的稱之為\(b\)

那麼我們考慮的是,怎麼讓一條邊沒被刪除,與之相關聯(即不能選)的邊一定被刪除

那麼就從\(s\)連到\(a\),\(b\)連到\(t\),流量限制均為方格的權值,之後因為有一些點選了另一些點既不能選,那麼就連一條\(inf\)的邊,這些邊因為權值是\(inf\),故不可能被割掉,如果兩條邊都不刪除,那麼就不滿足割的性質,所以兩條邊必有一條邊會被刪除

傳送門經典的插點問題

將每乙個點拆成\(k\)個點,表示汽車到這的時候還剩下多少油

然後你就可以dij了

如果從網路流的角度來考慮,每一條邊的流量均為\(1\),因為不可能經過一條邊(單向)兩次

費用?分成三類,

座標減小,這個直接將邊附上費用即可

遇到油庫,向可以達到的\((v,k-1)\)這些點連向邊即可,同時要將原來的可以不加油過的邊刪去,因為是強制消費

建油庫,每個點(包含所有狀態)建乙個虛點就好了,流量\(1\),費用\(c+a\)

之後就是最小費用最大流,注意應該要建乙個超級原點和乙個超級匯點,超級原點連向\((1,1)\),\((n,n)\)連向超級匯點,流量限制均為\(1\),因為只走一條路,費用當然是\(0\)

傳送門簡單的一道費用流的題目

貨物數量的限制就是原點到這個點流量的限制,需要貨物的限制就是這個點到匯點的流量限制,這兩種邊當然費用是\(0\)

之後倉庫向商店連邊\((inf,c_)\),跑最小費用最大流即可(因為只有在最大流的情況下才能滿足所有的需要)

傳送門考慮到有正有負不好處理,那麼我們將其全部轉換為正

首先,答案的上界是知道的,也就是所有的實驗的資助

然後我們所需要的就是減去的資助+實驗器材的費用最小,嘗試向最小割上面轉換

因為實驗和實驗所對應的器材不能同時存在與同乙個集合中,所以是非此即彼的關係,從\(s\)連向所有實驗,流量為實驗的贊助,實驗連向器材,流量為\(inf\),器材流向\(t\),流量為器材的**,之後跑乙個最大流就可以求出最小的減少費用

網路流 24 題

1 搭配飛行員 題意 n個飛行員,其中有m名飛行員是正駕駛員。飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些駕駛員不能在同一架飛機上飛行,問如何搭配駕駛員才能使出航的飛機最多。思路 裸二分圖匹配 最大流 題 版本一 網路流做法 引入源點s 0以及匯點t n...

網路流24題

學會網路流演算法後,我們要做的就是把問題轉化成網路流問題。求二分圖最大匹配。網路流建模要找到問題的關鍵特點,用連邊,流量 以及費用 把原問題轉化成網路流問題,包括最大流,最小割,費用流。二分圖最大匹配的特點是每個點最多屬於一條匹配邊。這相當於是說,每個點只能流過一次。要求的是最大匹配,可以得出建模為...

網路流24題

經典問題,做了一部分 太水的就不記錄了 最大流是對於一種完整的匹配的處理,一條路乙個貢獻。要求匹配盡可能多。費用流是對於乙個路徑的最值的處理,每條邊自己的費用。再匹配最多前提下,匹配的費用達到最值。難點就是對於條件狀態的設計 網路流24題 餐巾計畫問題 費用流建模 考慮每天一定有ri條髒毛巾,所以髒...