1754 負載平衡問題(最小費用最大流)

2021-09-29 01:12:47 字數 941 閱讀 9205

題意:g 公司有n 個沿鐵路運輸線環形排列的倉庫,每個倉庫儲存的貨物數量不等。如何用最 少搬運量可以使n 個倉庫的庫存數量相同。搬運貨物時,只能在相鄰的倉庫之間搬運。 程式設計任務: 對於給定的n 個環形排列的倉庫的庫存量,程式設計計算使n 個倉庫的庫存數量相同的最少搬運量。

思路:貪心是很好想的,不過這道題用來練習網路流。。。

通過分析發現,求都減去平均數後,剩下的就是需要的或多出來的數量。把所有多出的倉庫與源點連邊,容量為多出的數量,費用0。把所有缺少的倉庫與匯點建邊,容量為缺少的數量,費用0。然後對每個點對兩邊的點建邊,容量inf,費用1,就是每運乙個貨物花費1,跑最小費用最大流。

#include#define ll long long

#define inf 0x3f3f3f3f

using namespace std;

const int n = 1e5 + 10;

int n, m, s, t, h[n], cnt, dis[n], inq[n], pre[n], last[n], flow[n];

struct node no[n];

void add(int u, int v, int w, int c) ;

h[u] = cnt++;

no[cnt] = node;

h[v] = cnt++;

}int spfa() }}

return dis[t] != inf;

}ll mcmf()

ans += 1ll * flow[t] * dis[t];

}return ans;

}int ap[n], sum;

int main()

printf("%lld\n", mcmf());

return 0;

}

LOJ6013 負載平衡 最小費用最大流

題目描述見鏈結 將倉庫分為兩個型別,第乙個型別為稀缺貨物的倉庫 a ia i ai 較平均值少 x ix i xi 第二個型別為富餘貨物的倉庫 b ib i bi 較平均值多 y iy i yi 然後建立超級源點s ss 和超級匯點ttt,include define reg register in...

費用流 負載平衡問題

g 公司有 n 個沿鐵路運輸線環形排列的倉庫,每個倉庫儲存的貨物數量不等。如何用最少搬運量可以使 n 個倉庫的庫存數量相同。搬運貨物時,只能在相鄰的倉庫之間搬運。輸入輸出格式 輸入格式 檔案的第 1 行中有 1 個正整數 n 表示有 n 個倉庫。第 2 行中有 n 個正整數,表示 n 個倉庫的庫存量...

負載平衡問題 網路流24題 最大流最小費用

注意題意 環形 不然怎麼也算不明白為什麼樣例是那樣的 發現這道題竟然是一道費用流,是因為移動每乙個貨物可以看成是挪動一次代價為1,這樣子想就可以建邊了,從源點出發到每個節點是每個節點的擁有數,而每個節點到匯點的容量是那個平均數。然後對於每個相鄰的節點連線上邊並且單位流的代價是1。include in...