網路流練習回顧

2022-07-22 20:30:21 字數 2160 閱讀 8951

其實感覺網路流考的不是這個演算法,考的是你能想到這題是網路流,而我今天也做了\(5\)道題,因為知道是網路流的題,感覺就是把建邊改改就a了 (雖然有一題de了一下午bug

算了,廢話不多說,講題吧

這題其實不難(主要知道是網路流的題,

從源點向每乙個\(byx\)的人連一條邊,邊的容量為這個人的壽命,然後從這個人向他可以打敗的人連一條容量為\(1\)的邊,因為每兩個人只能比一場,最後從詩乃醬的人向匯點連一條容量為此人壽命的邊。

注意,yyy是可以給j續壽命的,而且自己的壽命不會減少,所以就算這個yyy的壽命是\(0\),也可以給j續命。

然後?然後就跑最大流了,這個應該不用說了。。

#include#define inf 0x3f3f3f3f

#define re register

#define min(x,y) ((x)<(y)?(x):(y))

using namespace std;

const int n=21500;

struct edgee[n];

int n,m,s,a[n],b[n],t,ans,s1,cnt=1,hd[n],num1,num2,dep[n],cur[n];

bool ko[10][10];

inline void add(int u,int v,int val)

string ch;

queue q;

bool bfs()

} return 0;

}int dinic(int u,int flow)

return flow-rest;

}int main()

for(re int i=1;i<=n;i++)

for(re int i=1,val;i<=n;i++)

for(re int i=1,val;i<=n;i++)

for(;bfs();ans+=dinic(s,inf));

printf("%d",ans);

return 0;

}

這題雖然評分是省選,其實可以算最大流的模板題了,很適合剛學最大流的oier做(至少比上一題簡單

因為輸入的是書與作業本,答案的可能匹配,所以在網路流分層時,可以吧書放在中間,然後再建開始邊。

水的網路流題建邊也差不多,先從匯點向作業本建容量為\(1\)的邊,因為每一本作業本只能匹配一次,然後就是再向書,再向答案,最後向匯點建邊。

#include#define inf 0x3f3f3f3f

#define re register

#define min(x,y) ((x)<(y)?(x):(y))

using namespace std;

const int n=41005,m=140005;

struct edgee[m];

int n1,n2,n3,m1,m2,s,t,ans,cnt=1,hd[n],dep[n],cur[n];

inline void add(int u,int v,int val)

string ch;

queue q;

bool bfs()

} return 0;

}int dinic(int u,int flow)

return flow-rest;

}int main()

scanf("%d",&m2);

for(re int i=1,u,v;i<=m2;i++)

for(;bfs();ans+=dinic(s,inf));

printf("%d",ans);

return 0;

}

這題需要一點思考,而且不會一眼看出來是一道網路流。

先把地圖轉化一下,變成乙個有\(n\times m\)個節點的網路圖,每個節點向四周連邊,而我們的答案該怎麼求?用圍欄可以看成把這條邊割掉,而答案就是求最小割的大小。我們好像剛學最大流是就知道了,最大流等於最小割,所以把羊或者狼的點連上源點,另外乙個連上匯點,跑最大流就好了,不是任何動物的領地的點不用管。

這題又比較基礎了,從每個點向它能到達的點連邊,然後從源點向有蜥蜴的石柱連邊,最後那些石柱可以一步跳出地圖,就把它們連向匯點。

但這題也要拆點,把每個點拆成兩個,中間連一條容量為石柱高度的邊,表示最多能通過多少條蜥蜴,然後跑最大流了。

好像都挺水的哩

網路流 最大流 最小費 回顧

1 最大流 容量網路作為問題的有向圖.要有反向弧用於回流,且反向弧容量為0.殘量網路,殘量 容量 當前流.容量 當前流 殘量都有反向弧 殘量 0,代表可達,所以要不斷在殘量網路中找 s 到 t 的可達路.稱為增廣路.什麼叫增廣路?就是當你把這條路加進來後,會使你的結果更優.在最大匹配中交錯軌就是它的...

網路流專題練習Day2

04 17 目前做了 7 題由於目前六道都是1a感覺非常爽.狼愛上羊啊愛的瘋狂,誰讓他們真愛了一場 狼愛上羊啊並不荒唐,他們說有愛就有方向 orez聽到這首歌,心想 狼和羊如此和諧,為什麼不嘗試羊狼合養呢?說幹就幹!orez的羊狼圈可以看作乙個n m個矩陣格仔,這個矩陣的邊緣已經裝上了籬笆。可是dr...

回顧(練習題)

簡述 django mvc 和 mtv mvc 全名是model view controller 是模型 model 檢視 view 控制器 controller 的縮寫 一種軟體設計典範,用一種業務邏輯 資料 介面顯示分離的方法組織 將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動...