智力大衝浪

2022-08-16 13:18:17 字數 479 閱讀 3607

這道題相當於給出n個任務,每個任務都有完成時間和未完成的懲罰,求出最多能獲得的錢數

我們已知總錢數,那麼只需要求出最少的懲罰數,再用總錢數減去懲罰錢數即可。我們考慮如何讓總被懲罰的錢數最少。首先我們先把這\(n\)個任務按懲罰代價降序排序,為了盡量不影響後續的狀態,我們選擇時刻要盡可能晚,而且乙個時刻只能完成乙個任務,那麼就可以從完成時間開始往前迴圈找到第乙個未做過任務的時刻用來做此任務。這個貪心策略是比較顯然的,因此就不加贅述了。

#include using namespace std;

struct aa

a[550];

bool cmp(aa x,aa y)

bool f[550];

int main()

if(!find)

s+=a[i].w;}}

printf("%d",m-s);

return 0;

}

智力大衝浪

時間限制 1 sec 記憶體限制 128 mb 提交 112 解決 71 提交 狀態 討論版 小偉報名參加 電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的?接下來主持人宣布了比賽規則 首先,比賽時間分為n個...

智力大衝浪

智力大衝浪 riddle 記憶體限制 128m 題目描述 例 1 智力大衝浪 riddle.pas 題目描述 小偉報名參加 電視台的智力大衝浪節目。本次挑戰賽吸引了眾多 參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者 m 元。先 不要太高興!因為這些錢還不一定都是你的。接下來主持人宣布了比 賽規...

智力大衝浪

傳送門 同樣是一道貪心題。我們能想到,肯定是要做那些扣錢最多的,所以我們先把扣錢的多少拍一下序,之後,我們一定是要把這件事情盡量拖後做的,這樣才能保證盡量不影響其他的事件。而如果這個時間已經被占用,那就盡量向前排,實在排不了的丟棄即可。看一下 include include include incl...