51NOD 1163 最高的獎勵

2021-08-15 13:16:18 字數 440 閱讀 6585

這個題 自己想了想 mmp 感覺一做貪心題只會用 sort 忽略了 優先佇列

這題搜了題解後 大概明白了  就是建立乙個最小堆  把cost 壓入最小堆 如果當前時間 》 q.size() 說明可以直接加

如果小於等於 就要把cost 壓入後 取乙個最小的出來 

挺好的乙個題

#include using

namespace

std;

typedef

long

long

ll;const

int maxn = 50000+10

;struct

node

}s[maxn];

intmain ()

else

}printf(

"%lld\n

",res);

}

51Nod 1163 最高的獎勵

acm模版 這是一道十分不錯的貪心問題,有o nlogn 和o n n 解法。oneo nlogn 演算法 將最晚結束時間公升序排序,第n個任務最晚時間如果大於已經消耗的時間,則可以算入總和,若不大於可以嘗試替換掉已經算入總和中的最小獎勵的任務,條件是這件任務的獎勵要大於要替換掉的任務的獎勵。使用優...

最高的獎勵 51Nod 1163

最高的獎勵 51nod 1163 有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會有衝突,這需要你來取捨。求能夠獲得的最高獎勵。input 第1行 乙個數...

51nod 1163 最高的獎勵

1163 最高的獎勵 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會...