1061 Noi2008 志願者招募

2022-05-16 05:54:49 字數 1723 閱讀 2758

time limit: 20 sec  memory limit: 162 mb

submit: 5742  solved: 3449

[submit][status][discuss]

申奧成功後,布布經過不懈努力,終於成為奧組委下屬公司人力資源部門的主管。布布剛上任就遇到了乙個難

題:為即將啟動的奧運新專案招募一批短期志願者。經過估算,這個專案需要n 天才能完成,其中第i 天至少需要

ai 個人。 布布通過了解得知,一共有m 類志願者可以招募。其中第i 類可以從第si 天工作到第ti 天,招募費用

是每人ci 元。新官上任三把火,為了出色地完成自己的工作,布布希望用盡量少的費用招募足夠的志願者,但這

並不是他的特長!於是布布找到了你,希望你幫他設計一種最優的招募方案。

第一行包含兩個整數n, m,表示完成專案的天數和可以招募的志願者的種類。 接下來的一行中包含n 個非負

整數,表示每天至少需要的志願者人數。 接下來的m 行中每行包含三個整數si, ti, ci,含義如上文所述。為了

方便起見,我們可以認為每類志願者的數量都是無限多的。

僅包含乙個整數,表示你所設計的最優方案的總費用。

3 32 3 4

1 2 2

2 3 5

3 3 2

141 ≤ n ≤ 1000,1 ≤ m ≤ 10000,題目中其他所涉及的資料均 不超過2^31-1。

網路流解法(因為有板子):

1 #include2 #include3 #include4 #include5

using

namespace

std;67

const

int inf=0x7f7f7f7f;8

const

int t=1004;9

const

int n=1005;10

const

int m=50005;11

12struct

edge

13e[m];

16int node=1;17

int head[n],from

[n],dis[n],vis[n];

1819

intn,m,ans;

2021

void ins(int

from,int to,int v,int

c)22

;25 head[from]=node;26}

2728

void insert(int

from,int to,int v,int

c)29

3233

bool

spfa()

3451

}52 vis[q]=0;53

}54return dis[t]!=inf;55}

5657

void

mcf()

5867}68

69int

main()

7082 insert(n+1,t,l,0

);83

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

8489

while

(spfa()) mcf();

90 printf("

%d\n

",ans);

91return0;

92 }

哪天回來補寫乙個線性規劃 單純性演算法 寫法

1061 Noi2008 志願者招募 費用流

好像有個叫單純形法的東西?我不會qwq。byvoid神犇的題解 好神啊。要注意善於新增輔助變數將不等關係轉化為等量關係,由正負的平衡轉化為網路流圖中的流量平衡,實現模型的轉化。include include include define inf 1000000007 define m 1005 us...

NOI2008 BZOJ1061 志願者招募

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

NOI2008 BZOJ1061志願者招募

1061 noi2008 志願者招募 time limit 20 sec memory limit 162 mb submit 3028 solved 1872 description 申奧成功後,布布經過不懈努力,終於成為奧組委下屬公司人力資源部門的主管。布布剛上任就遇到了乙個難題 為即將啟動的奧...