POJ 1273 網路流 最大流 模板

2022-08-02 10:54:09 字數 1299 閱讀 8142

這道題很值得反思,弄了一下午,交上去先是一直編譯錯誤,而在本地執行沒有問題,

原因可能是oj的編譯器版本老舊不支援這樣的寫法

g[from].push_back((edge));   

g[to].push_back((edge));

這兩句交上去是不能通過的,不知道網上很多人這樣子貼出**是怎樣通過的(『白書』的模板有問題的)

如果是照著『白書』直接敲上去沒有提交試試的話就太不應該了

正確的寫法:

struct edge edge1= ;

g[from].push_back(edge1);

struct edge edge2=;

g[to].push_back(edge2);

解決了這個問題以後就開始一直wa

原因:雖然記得給陣列memset了,但是vector忘記初始化,使得後面的結果出錯

這些教訓要接受

#include #include 

#include

#include

#define maxn 205

#define oo 0x3f3f3f3f

using

namespace

std;

struct

edge

;vector

g[maxn];

int level[maxn];//

頂點到源點的距離編號

int iter[maxn];//

當前弧,在其之前的邊不用再考慮

void add_edge(int

from,int to,int cap)//

增加s->t容量cap的邊

; g[

from

].push_back(edge1);

struct edge edge2=;

g[to].push_back(edge2);}//

bfs用來計算從源點出發所有點的距離編號

void bfs(int

s) }

}}//

通過dfs尋找當前的最短的增廣路

int dfs(int v, int t, int

f) }

}return0;

}int max_flow(int s, int

t) }

}void

init()

}int

main()

cout

<1,m)<

}return0;

}

view code

POJ 1273 模板網路流

drainage ditches 標準的是edmonds karp 最短增廣路演算法 網路流講解 include include include include include includeusing namespace std define rep i,a,b for int i a i b i...

POJ 1273 樸素的最大流

poj 1273 ditch mike w 2011 10 5 今天我才發現,我對殘餘網路理解有誤!include include include include ifndef true define true 1 endif define size 222 define qsize 2 size ...

poj 1273 最大流 EK演算法

最大流問題 從源點到終點運送貨物,經過一些中轉站,中轉站之間有路徑連線,每條路徑有運送貨物量的上限,求最多能運送多少貨物 找最大流就是每次找增廣路徑,並更新網路,直到找不到增廣路徑 includeusing namespace std const int max 201 const int inf ...