Codevs P3007 智力大衝浪

2021-07-05 22:53:44 字數 2349 閱讀 5044

小偉報名參加**電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的。接下來主持人宣布了比賽規則: 首先,比賽時間分為n個時段(n≤500),它又給出了很多小遊戲,每個小遊戲都必須在規定期限ti前完成(1≤ti≤n)。如果乙個遊戲沒能在規定期限前完成,則要從獎勵費m元中扣去一部分錢wi,wi為自然數,不同的遊戲扣去的錢是不一樣的。當然,每個遊戲本身都很簡單,保證每個參賽者都能在乙個時段內完成,而且都必須從整時段開始。主持人只是想考考每個參賽者如何安排組織自己做遊戲的順序。作為參賽者,小偉很想贏得冠軍,當然更想贏取最多的錢! 注意:比賽絕對不會讓參賽者賠錢!

輸入共4行。

第一行為m,表示一開始獎勵給每位參賽者的錢;

第二行為n,表示有n個小遊戲; 第三行有n個數,分別表示遊戲1~n的規定完成期限;

第四行有n個數,分別表示遊戲1~n不能在規定期限前完成的扣款數。

僅1行。表示小偉能贏取最多的錢。

10000

7 4 2 4 3 1 4 6

70 60 50 40 30 20 10

n≤500

1≤ti≤n

該題採用貪心策略,首先扣錢多的肯定要玩,否側會使剩下的錢數減少,所以按照代價排序,代價大的排在前,肯定要在自己的最後期限玩,可以為其它遊戲讓出時間,然後再開始從前往後掃,因為是按代價大的在前排序,所以能玩就玩,在最後期限不能玩就向前掃,找到任何乙個時間可以玩就玩,如果找不到任何乙個時間來玩遊戲,那就讓這個遊戲排到最後,因為,在任何時間扣錢是一樣的,排在最後可以為其他遊戲讓出時間。

HDU 3007 最小圓覆蓋

題意 給出平面上的一些點,要求用乙個最小的圓,把所有的點包圍起來。最小覆蓋圓,增量法 假設圓o是前i 1個點得最小覆蓋圓,加入第i個點,如果在圓內或邊上則什麼也不做。否,新得到的最小覆蓋圓肯定經過第i個點。然後以第i個點為基礎 半徑為0 重複以上過程依次加入第j個點,若第j個點在圓外,則最小覆蓋圓必...

HDU 3007 隨機增量法

題目大意 給定平面上 n 個點,求最小圓覆蓋 我就是抄了個板而已 q 為什麼是 o n 的 a 搖頭搖頭搖頭 q 三角形外心怎麼求 a 不知道 q 學這個有什麼用 a 一臉懵逼 q 怎麼什麼都不知道 a 窩弱嘛tat 怎麼覺得自己又抽了 三角形外心 我知道泥萌都會。因為到各點距離相等,有 x 1 x...

Codevs P3641 上帝選人

世界上的人都有智商iq和情商eq。我們用兩個數字來表示人的智商和情商,數字大就代表其相應智商或情商高。現在你面前有n個人,這n個人的智商和情商均已知,請你選擇出盡量多的人,要求選出的人中不存在任意兩人i和j,i的智商大於j的智商但i的情商小於j的情商。第一行乙個正整數n,表示人的數量。第二行至第n ...