題目描述見鏈結 .
將倉庫分為兩個型別, 第乙個型別為稀缺貨物的倉庫
\, a
ia_i
ai 較平均值少 x
ix_i
xi,
第二個型別為富餘貨物的倉庫
\, b
ib_i
bi 較平均值多 y
iy_i
yi,
然後建立超級源點s
ss 和超級匯點ttt,
#include
#define reg register
intread()
while
(isdigit
(c)) s = s*
10+ c-
'0', c =
getchar()
;return s * flag;
}const
int maxn =
505;
const
int inf =
0x3f3f3f3f
;const
int s =
101, t =
102;
int n;
int ans;
int num0;
int tmp_1;
int a[maxn]
;int dis[maxn]
;int head[maxn]
;int pre[maxn][2
];bool vis[maxn]
;struct edge edge[maxn <<2]
;void
add(
int from,
int to,
int w,
int cup,
int flow)
; head[from]
= num0;
}bool
spfa()
}}return dis[t]
!= inf;
}void
mmflow()
ans +
= mf * dis[t]
, t = t;
while
(t != s)}}
intmain()
for(reg int i =
1; i <= n; i ++
)add(1
, n,
1, inf,0)
,add
(n,1,-
1,0,
0);add
(n,1,1
, inf,0)
,add(1
, n,-1
,0,0
);mmflow()
;printf
("%d\n"
, ans)
;return0;
}
loj6013 網路流 24 題 負載平衡
題目描述 g 公司有 n n n 個沿鐵路運輸線環形排列的倉庫,每個倉庫儲存的貨物數量不等。如何用最少搬運量可以使 n n n 個倉庫的庫存數量相同。搬運貨物時,只能在相鄰的倉庫之間搬運。輸入格式 檔案的第 1 1 1 行中有 1 1 1 個正整數 n n n,表示有 n n n 個倉庫。第 2 2...
1754 負載平衡問題(最小費用最大流)
題意 g 公司有n 個沿鐵路運輸線環形排列的倉庫,每個倉庫儲存的貨物數量不等。如何用最 少搬運量可以使n 個倉庫的庫存數量相同。搬運貨物時,只能在相鄰的倉庫之間搬運。程式設計任務 對於給定的n 個環形排列的倉庫的庫存量,程式設計計算使n 個倉庫的庫存數量相同的最少搬運量。思路 貪心是很好想的,不過這...
負載平衡問題 網路流24題 最大流最小費用
注意題意 環形 不然怎麼也算不明白為什麼樣例是那樣的 發現這道題竟然是一道費用流,是因為移動每乙個貨物可以看成是挪動一次代價為1,這樣子想就可以建邊了,從源點出發到每個節點是每個節點的擁有數,而每個節點到匯點的容量是那個平均數。然後對於每個相鄰的節點連線上邊並且單位流的代價是1。include in...