AOJ 2230 最小費用流迴圈流

2021-10-05 13:01:28 字數 2154 閱讀 8016

題意

傳送門 aoj 2230

題解求在保持起點、終點最大距離不變的條件下增加的最大邊權值。增加邊權後,對於圖中每一條邊,經過它的最長邊都要保證小於等於最大距離。從終點向起點連邊,問題轉化為求最大費用迴圈流。

此時將原圖所有邊權取負,終點向起點連邊權值為最大距離,目標為原圖任一條邊都取到時,圖中正圈權值的最小和。按照 最小費用迴圈流

的思路連邊。但一般的最小費用迴圈流在假定取負權邊時,不僅將負權邊權值加入答案,而且令原圖負權邊滿流,使負權邊流量有回退的可能;而這裡要求圖中所有邊都要取到,故不預先令負權邊滿流。此時最小費用流即答案。

#include

#include

#include

#include

#include

#include

#define min(a,b) (((a) < (b)) ? (a) : (b))

#define max(a,b) (((a) > (b)) ? (a) : (b))

#define abs(x) ((x) < 0 ? -(x) : (x))

#define inf 0x3f3f3f3f

#define delta 0.85

#define eps 1e-10

#define pi 3.14159265358979323846

using

namespace std;

#define max_v 102

struct edge};

int v;

vector g[max_v]

;int h[max_v]

, dist[max_v]

;int prevv[max_v]

, preve[max_v]

;bool inq[max_v]

;void

add_edge

(int from,

int to,

int cap,

int cost)

intmin_cost_flow

(int s,

int t,

int f)}}

}for

(int v =

0; v < v; v++

) h[v]

= dist[v]

;while

(f >0)

}}if(dist[t]

== inf)

for(

int v =

0; v < v; v++

) h[v]

+= dist[v]

;int d = f;

for(

int v = t; v != s; v = prevv[v]

) f -

= d;

res +

= d * h[t]

;for

(int v = t; v != s; v = prevv[v])}

return res;

}void

clear_graph()

intspfa

(int s,

int t)}}

}return dist[t];}

#define max_n 100

#define max_m 1000

int n, m;

int x[max_m]

, y[max_m]

, s[max_m]

;int deg[max_n]

;// deg[i] > 0, in_degree > out_degree

void

solve()

for(

int i =

0; i < n; i++)if

(deg[i]

<0)

}add_edge

(n -1,

0, inf,

-spfa(0

, n -1)

);res +

=min_cost_flow

(s, t, f)

;printf

("%d\n"

, res);}

intmain()

solve()

;}return0;

}

最小費用流

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...

最小費用流

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...

最小費用流

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...