NKOI 1349 工作安排

2021-07-11 08:32:23 字數 1520 閱讀 2592

【uasco 2009 open gold-2】工作安排

time limit:10000ms  memory limit:65536k

total submit:63 accepted:43 

case time limit:1000ms

description

farmer john 有太多的工作要做啊!!!!!!!!為了讓農場高效運轉,他必須靠他的工作賺錢,每項工作花乙個單位時間。 

他的工作日從0時刻開始,有1000000000個單位時間(!)。在任一時刻,他都可以選擇編號1~n的n(1 <= n <= 100000)項工作中的任意一項工作來完成。 

因為他在每個單位時間裡只能做乙個工作,而每項工作又有乙個截止日期,所以他很難有時間完成所有n個工作,雖然還是有可能。 

對於第i個工作,有乙個截止時間d_i(1 <= d_i <= 1000000000),如果他可以完成這個工作,那麼他可以獲利p_i( 1<=p_i<=1000000000 ). 

在給定的工作利潤和截止時間下,fj能夠獲得的利潤最大為多少呢?答案可能會超過32位整型。 

input

第1行:乙個整數n. 

第2~n+1行:第i+1行有兩個用空格分開的整數:d_i和p_i. 

output

輸出一行,裡面有乙個整數,表示最大獲利值。 

sample input

3

2 10

1 51 7

sample output

17

hint

第1個單位時間完成第3個工作(1,7),然後在第2個單位時間完成第1個工作(2,10)以達到最大利潤 

source

usaco 2009公開賽金組

貪心+堆

1.將罐頭按到期時間有小到大排序

2.依次討論每個罐頭:

若當前討論i號罐頭,它的到期時間為time_i,此時,我們最多能選time_i個罐頭出來。 

所以,我們分兩種情況討論:

<1>若在i之前選的罐頭數小於time_i,我們直接選擇i號罐頭

<2>若在i之前已選的罐頭數》=time_i,那麼把我們在已選罐頭中美味值最小的乙個拿來與i號罐頭比較,

若i號罐頭的美味值大於該罐頭,則將該罐頭從已選罐頭列表中刪除,把i號罐頭加入到裡面。

否則,不選用i號罐頭

3.我們要從一堆已選的罐頭中快速選出美味值最小者,顯然用小根堆來維護已選出的罐頭即可。

#include#include#includeusing namespace std;

struct nodea[100005];

priority_queue,greater>heap;

bool cmp(node p,node q){return p.time

NKOI 1047 任務安排

任務安排 time limit 1000ms memory limit 65536k total submit 143 accepted 70 description n個任務排成乙個序列在一台機器上等待完成 順序不得改變 這n個任務被分成若干批,每批包含相鄰的若干任務。從時刻0開始,這些任務被分批...

年前工作安排

武漢今年最低溫到來後,感覺入冬已近,小孩子似的想到了過年。為了能早日回家過年 過個好年,現將有關工作安排如下 一 11月中 下旬 完成2005 2006學年第一學期教學執行計畫的下發 將除了排課 教師課酬核算及期末考試之外的事情全部完成。背單詞500個。二 12月上旬 聯絡各院系專職教師以及外聘教師...

2006 06 07工作安排

一 完成研發中心開發計畫剩餘中長期研發計畫部分 三個月以後公司的研發計畫,現在腦海裡面一團糟,實際的情況是,過高新的專案研發個人以為也是可以完成,不過時間會拖得相當長,這種情況是目前公司經營狀況不可能允許的。前期部門研發管理可以認為沒有,我是逃脫不了責任的,但是事實如此,沒有資金投入,經營狀況不好,...