(
題目描述
g 公司有 n n n 個沿鐵路運輸線環形排列的倉庫,每個倉庫儲存的貨物數量不等。如何用最少搬運量可以使 n n n 個倉庫的庫存數量相同。搬運貨物時,只能在相鄰的倉庫之間搬運。
輸入格式
檔案的第 1 1 1 行中有 1 1 1 個正整數 n n n,表示有 n n n 個倉庫。
第 2 2 2 行中有 n n n 個正整數,表示 n n n 個倉庫的庫存量。
輸出格式
輸出最少搬運量。
樣例 樣例輸入
5 17 9 14 16 4
樣例輸出
資料範圍與提示
1≤n≤100 1 \leq n \leq 100 1≤n≤100
我把乙個點 拆成兩個點 一邊是富裕的要給別人值的點 一遍是不富裕的要從別人得到的點
然後先求個平均值 然後針對每個地方的球都減一下這個平均值 然後如果富裕那麼就安放在左邊 如果不富裕 那就安放在右邊 然後如果這兩個點是臨近點 那麼我左邊和左邊的點相鄰代表轉移過去(只是經過而已)如果我左邊和右邊在原圖中相鄰的點連線 那麼代表我這些球是用來補充那個缺少的 這些邊的費用都是1 邊權都是真無窮 然後源點和左邊連線的邊權是s[i]費用為0 右邊和匯點連線的費用是0 邊權是s[i] 然後跑費用流即可 我好菜啊orz啥都不會慘啊orz
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define n 220
using
namespace
std;
inline
char gc()
return *s++;
}inline
int read()
return x;
}struct nodedata[n*n];
int h[n],pre[n],s[n],n,m,t,f[n],path[n],num=1;bool flag[n];
inline
void insert1(int x,int y,int z,int c)
inline
bool spfa()
}}if(pre[t]==-1) return
0;else
return1;}
int main()int ans=0;
while(spfa())now=t;
while(now)
}printf("%d",ans);
return
0;}
loj6004 網路流 24 題 圓桌聚餐
題目描述 假設有來自 n n n 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri r i r i 會議餐廳共有 m m m 張餐桌,每張餐桌可容納 ci c i c i 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出滿足要求的代表...
LOJ 6004 網路流 24 題 圓桌聚餐
題意 假設有來自 m mm 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 r ir i ri 會議餐廳共有 n nn 張餐桌,每張餐桌可容納 c ic i ci 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出滿足要求的代表就餐方案。連...
loj 6002 網路流 24 題 最小路徑覆蓋
題目描述 問題描述 每條邊的容量均為1。求網路g1的 0 x 0 y 最大流。程式設計任務 對於給定的給定有向無環圖g,程式設計找出g的乙個最小路徑覆蓋。輸入輸出格式 輸入格式 件第1 行有2個正整數n和m。n是給定有向無環圖g 的頂點數,m是g 的邊數。接下來的m行,每行有2 個正整數i和j,表示...