洛谷 P2517 HAOI2010 訂貨

2021-08-15 10:39:35 字數 908 閱讀 8781

給出每乙個月的商品需求量和每乙個月的生產成本以及倉庫容量和貯存費用(每月,與貯存貨物的量無關),問最小成本.

一開始沒有想到用費用流去做,且難以建圖,但將名詞轉化一下即可

將貨物的量當做流量,成本當做費用,先建乙個超級源點(可以理解為工廠),連向每乙個月的節點,因為生產數量無限制,故流量為inf,費用為成本,再建乙個超級匯點(理解為客戶),每乙個月的節點連向它,流量為需求量,費用為0,再將相連兩月連線,流量為倉庫流量,費用為貯存費,跑一遍費用流即可.

#include

#include

#include

#include

#define inf 0x3f3f3f3f

#define n 110

#define m 1010

using

namespace

std;

int n,m,v,first[n],bb=1,s=0,t,ans,d[n],last[n],b[n];

bool in[n];

struct bn

bn[m];

queue

que;

inline

void add(int u,int v,int w,int z)

int dfs(int now,int mn)

inline

void bfs()}}

if(d[t]==inf) return;

ans+=d[t]*dfs(t,inf);

bfs();

}int main()

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

for(i=1;i1,v,m);

add(i+1,i,0,-m);

}bfs();

cout

<}

題解 P2517 HAOI2010 訂貨

題目鏈結 很快啊,一下子就判斷出是個費用流。首先,構建兩個虛擬源匯點。根據題目分析,第i個月對某產品的需求量為ui 結合全文,因為該月可以有剩餘,所以不能確定入流限制,那就換條路,咱們選擇跟匯點連邊。自然而然,容量為 ui 費用為 0 匯點是虛擬的,不需要花費 然後我們在從源點向該點連邊,因為匯點直...

洛谷 2517 訂貨

某公司估計市場在第i個月對某產品的需求量為ui,已知在第i月該產品的訂貨單價為di,如果上個月沒有賣完的貨會存到倉庫裡,儲存費用要m,倉庫容量為s。假定第一月月初的庫存量為零,第n月月底的庫存量也為零。計算如何安排訂購計畫可以使得成本最低。我們把進貨的地方設為源點,銷售出去的地方設為匯點。那麼源點到...

洛谷P2515 HAOI2010 軟體安裝

現在我們的手頭有n個軟體,對於乙個軟體i,它要占用wi的磁碟空間,它的價值為vi。我們希望從中選擇一些軟體安裝到一台磁碟容量為m計算機上,使得這些軟體的價值盡可能大 即vi的和最大 但是現在有個問題 軟體之間存在依賴關係,即軟體i只有在安裝了軟體j 包括軟體j的直接或間接依賴 的情況下才能正確工作 ...