傳送門
模板題。最小費用最大流,要求同時輸出最大流以及最小費用,複雜度有點玄學,每增廣一次,下一次spfa的複雜度又會降低。所以這種題暫時只能這麼處理:看出來有後效性的相互約束關係的就考慮用費用流解決。
#include#include#include#include#includeusing namespace std;
const int n=5004,m=50004,inf=0x3f3f3f3f;
int n,m,source,sink;
int head[n],etot=0,dis[n],pre[n];
bool inq[n];
struct edge e[m<<1];
inline int read()
inline void adde(int u,int v,int r,int c)
inline bool spfa()
} }return dis[sink]^inf;
}inline void mcmf()
printf("%d %d\n",maxflow,mincost);
}int main() {
// freopen("p3381.in","r",stdin);
memset(head,-1,sizeof(head));
n=read(),m=read(),source=read(),sink=read();
for (register int i=0;i
最小費用流
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...