noi2008 志願者招募

2022-08-22 13:12:12 字數 890 閱讀 9337

題目大意:乙個專案需要n天才能完成,其中第i天需要ai個人,共有m類志願者可以招募,每種都有固定的工作時間和招募費用。找出一種最優的招募方案。

分析:其實這題很明顯網路流,不過建圖真的很麻煩很麻煩,要用到等式轉換什麼的,我就不獻醜了,題解見

noi要是真出個讓你看出來是網路流的題,估計是沒幾個人能構出圖來的...

**真心醜,不過還是貼出來防丟:

view code

#include

#include

#include

#include

#include

using

namespace std;

#define maxn 1010

#define maxm 10010

#define inf 20000000

struct edge

e[maxm*4];int first[maxn];

int n,m,tot=0,s,t,ans=0;

int need[maxn];

bool b[maxn];

int d[maxn],pre[maxn];

queueq;

void add(int x,int y,int cost,int flow=inf)

void init()

s=0;t=n+2;

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

}bool spfa()}}

b[u]=false;

q.pop();

}if (d[t]return

true;

return

false;

}void update()

}int main()

NOI 2008 志願者招募

考慮用 p i 表示第 i 天實際招收的人數,我們假設我們有三種志願者,分別是 1 to 2,1 to 3 2 to 3 我們招手的人數分別是 b 1,b 2,b 3 那麼第一天實際人數就是 p 1 b 1 b 2 geq a 1 同理我們把三個不等式寫出來 b 1 b 2 ge a 1 b 1 b...

NOI2008志願者招募

申奧成功後,布布經過不懈努力,終於成為奧組委下屬公司人力資源部門的主管。布布剛上任就遇到了乙個難題 為即將啟動的奧運新專案招募一批短期志願者。經過估算,這個專案需要n 天才能完成,其中第i 天至少需要ai 個人。布布通過了解得知,一共有m 類志願者可以招募。其中第i 類可以從第si 天工作到第ti ...

NOI2008 志願者招募

oj題號 bzoj1061 題目大意 有 n 個任務,m 個志願者,完成每個任務 i 至少需要 a i 個人,每個人只有在 s i 到 t i 的時候有空,並需要被支付 c i 的報酬,求完成所有任務的最小支出。思路 先挖空後補空 將每個時間抽象成點,並在時間軸的兩端增加源匯 s 和 t 每個相鄰的...