POJ 1459 最大流 第二題

2021-07-09 07:57:19 字數 1162 閱讀 4757

也是網路流的基礎,只是虛擬出乙個源點和終點,對應的生產值和消費值就加到與源點和終點的邊上,然後做一次bfs就好了。

1 #include 2 #include 3 #include 4 #include 5

#define inf 9999999996//

#define open_file

7using

namespace

std;89

const

int maxn = 105;10

intcap[maxn][maxn], flow[maxn][maxn], p[maxn], c[maxn], f[maxn];

11int

n, ans;

1213

void get_cap(char

s)14

20 v = 0;21

for (++i; s[i] != '

)'; i++)

24int len =strlen(s);

25 w = 0;26

for (++i; i < len; i++)

29 cap[u][v] =w;30}

3132

void get_pc(char s, int* t, int

o)33

39int len =strlen(s);

40 w = 0;41

for (++i; i < len; i++)

44if

(o)47

else

5051}52

53void

ek_bfs()73}

74if (a[t] == 0) break;75

for (u = t; u != s; u =f[u])

79 ans +=a[t];80}

81}8283

intmain()

84100

for (i = 1; i <= np; i++)

104for (i = 1; i <= nc; i++)

108ek_bfs();

109 printf("

%d\n

", ans);

110}

111 }

view code

poj 1459 最大流 Dinic模板題

題意 給幾個發電站,給幾個消耗站,再給幾個 點。發電站只發電,消耗站只消耗電,點只是 電,再給各個傳送線的傳電能力。問你消耗站能獲得的最多電是多少。思路 這題建圖是比較顯然的,超源點和發電戰之間連邊,容量是發電量,消耗站和超匯點之間連邊,容量是消耗量,然後輸電線本來就是邊,這樣就建好圖了,剩下的就是...

poj1459多源點多匯點最大流

題意 有許多發電廠,需求電的地方 就說耗電場吧 和一些中轉站,要求出各個耗電場耗電之和,並使之最大。其中邊上的權值為能流通的最大電量。題目解析 這道題目也是很簡單的最大流題目,只需要新增乙個總的源點和乙個總的匯點,然後從總源點到子源點邊上的權值為子源點的發電量,從匯點到總匯點邊上的權值為子匯點的需求...

poj1459多源多匯最大流問題

基本構圖題,多源多匯,新增乙個源點和乙個匯點,所有源點都來自這個源點,同理,所有匯點 都匯於這個匯點,dinic第二戰,本來應該1a的,犯了乙個低階錯誤!while scanf d 要加 啊!sb了,記住這個教訓!此次順帶學習了scanf的又一讀入,忽略空格和已有符號,不錯,並且更加了解了 dini...