codevs貪心 地鼠遊戲

2021-07-28 02:38:16 字數 1044 閱讀 6527

王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而且善於經常總結、完善自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切很大程度上是由於他是乙個追求效率的人。

地鼠遊戲是一項需要反應速度和敏捷判斷力的遊戲。遊戲開始時,會在地板上一下子冒出很多地鼠來,然後等你用榔頭去敲擊這些地鼠,每個地鼠被敲擊後,將會增加相應的遊戲分值。問題是這些地鼠不會傻傻地等你去敲擊,它總會在冒出一會時間後又鑽到地板下面去(而且再也不上來),每個地鼠冒出後停留的時間可能是不同的,而且每個地鼠被敲擊後增加的遊戲分值也可能是不同,為了勝出,遊戲參與者就必須根據每個地鼠的特性,有選擇地盡快敲擊一些地鼠,使得總的得分最大。

這個極具挑戰性的遊戲王鋼特別喜歡,最近他經常在星期天上午玩這個遊戲,慢慢地他不但敲擊速度越來越快(敲擊每個地鼠所需要的耗時是1

秒),而且他還發現了遊戲的一些特徵,那就是每次遊戲重新開始後,某個地鼠冒出來後停留的時間都是固定的,而且他記錄了每個地鼠被敲擊後將會增加的分值。於是,他在每次遊戲開始後總能有次序地選擇敲擊不同的地鼠,保證每次得到最大的總分值。

分析:這題就是很簡單的貪心問題,貪心原則就是在時間允許範圍內盡量選擇分數高的地鼠來打,這樣的話自然就是將時間從後往前的選擇地鼠來打啦。

const

maxn=100;

vara,v:array[1..maxn] of longint;

ans,max1,max2,time,n,i,j:longint;

begin

readln(n);

for i:=1 to n do

begin

if itime then

time:=a[i];

end;

for i:=1 to n do

if i=i) and (v[j]>max1) then

begin

max1:=v[j];

max2:=j;

end;

ans:=ans+max1;

v[max2]:=0;

end;

writeln(ans);

end.

codevs地鼠遊戲(貪心)

時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond 王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而且善於經常總結 完善自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切很大程度上是由於他是乙個追求效率的人。地鼠...

地鼠遊戲 貪心

題目描寫敘述 description 王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,並且善於常常總結 完好自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切非常大程度上是因為他是乙個追求效率的人。但王鋼也是乙個喜歡玩的人,平時在學校學習他努...

打地鼠遊戲(貪心)

照例化簡題意 0點n個任務,每個任務有乙個權值和乙個消失時間,要在消失之前完成才會獲得價值,求最大值 solution 蒟蒻一開始居然往dp上想。集訓的東西,我卻忘了,看來還沒消化完啊。最後歪歪出來乙個類似正解的東西但是我搞崩掉了.首先,在每個點完成消失的東西,然後在空閒的點找最大的完成。貌似是對的...