最小費用流

2021-07-10 22:49:26 字數 969 閱讀 1075

int v; //頂點數

vector

g[max_v];

int dist[max_v]; //最短距離

int prev[max_v]; //最短路中前驅結點對應的點

int pree[max_v]; //最短路中前驅結點對應的邊

void addedge(int from, int to, int cap, int cost)

//求從s到t,流量為f的最小費用流

//如不能增廣,返回-1

int min_cost_flow(int s, int t, int f)}}

}//不能再增廣

if(dist[t] == inf)

return -1;

//沿著s到t的最短路盡量增廣

int d = f;

int v;

for(v=t; v!=s; v=prev[v])

f -= d;

res += d * dist[t];

for(v=t; v!=s; v=prev[v])

}return res;

}int main()

最小費用流

include include define maxn 61 define maxv maxn maxn 2 1 define maxe maxv 5 define oo 2147483647 define min a,b a b b a define maxq maxe using namespa...

最小費用流

acm模版 最小費用流 o v e f init network g g.build v,e call g.mincost s,t flow g.flow cost g.cost 注意 spfa增廣,實際複雜度遠遠小於o v e define typef int type of flow defin...

最小費用流

單向圖 題目鏈結請點這裡 include 每次找費用的最短路,更新殘留網路圖直到找不到最短路為止 include 最大費用 權值取負值 結果取負值 include include include using namespace std const int inf 0x3f3f3f3f struct ...