上下界費用流

2022-05-31 06:00:13 字數 1260 閱讀 4872

codeforces 708d incorrect flow

這是道可行流最小費用的題目,這題好神奇。

看這老哥的題解就ok了。戳這

我覺得他少說了一條邊,但**中卻體現了,就是一條流量為$(f,f)$的邊,費用為0,就是固定流量的一條邊。

還要注意一點是,$f>c$的時候,$f$往下調到$c$以下時,$c$是不動的。

#include using

namespace

std;

const

int maxn = 200

;const

int inf =1e9;

intdist[maxn];

intpv[maxn],pe[maxn];

struct

edge

e[1450

];int tot = 0

, head[maxn];

void init(int

n)void add(int

from,int to,int cap, int

cost)

void addedge(int

from,int to,int cap, int

cost)

intvis[maxn];

void spfa(int s, int

t) }}}

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

f -=d;

max_flow +=d;

ret += (int)d*dist[t]; ///

走一單位就消耗dist[t]

for(int v=t;v!=s;v=pv[v])

}return

ret;

}int

d[maxn];

intmain()

else

}addedge(n,

1, inf, 0

);

int ss = n + 1, tt = n + 2

;

for(int i = 1; i <= n; i++)

int max_flow = 0

; ans +=min_cost_flow(ss, tt, inf, max_flow);

printf(

"%d\n

", ans);

return0;

}

code

上下界網路流及費用流學習筆記

前言 不錯的文章 無源匯上下界可行流 模型 乙個網路,求出乙個流,使得每條邊的流量必須 l ge l l且 r le r r,每個點必須滿足總流入量 總流出量 流量守恆 這個流的特點是迴圈往復,無始無終 考慮到如果存在乙個可行流,那麼每條邊的流量至少是 l ll,於是我們可以預先讓它先流 lll 這...

上下界網路流初探

看文章各種不明真相.請教了一下iwtwiioi大牛.大致有個理解.建模過程 1.拆邊.對於每一條給出的有向邊 u,v,c,d 其中c指下界,d指上界,那麼在實際的圖中連三條只有上界沒有下界的邊 s,v,c u,t,c u,v,d c 其中s是超級源,t是超級匯.不同於題目給出的源與匯 一條是超級源連...

上下界網路流專題

給定n點m邊無向圖,用k個人從起點出發,乙個人走一條路代價為路的長度li,你希望按照0,1,2,n的順序依次經過這些點,其中經過的定義是任何1人經過該點,問k個人最小的道路總和。n 150,m 20 000,1 k 10,li 10 000 考慮每次只有1個人走1步,已經過t點,則每次其中一人走向t...