演算法訓練 貪心

2021-09-25 10:02:24 字數 1386 閱讀 7929

有m元錢,n種物品;每種物品有j磅,總價值f元,可以 使用0到f的任意**購買相應磅的物品,例如使用0.3f元,可以購買0.3j磅物 品。要求輸出用m元錢最多能買到多少磅物品。題解

買價效比最高的商品,即j/f最大的商品

#include

#include

using namespace std;

struct goods

}buf[

1000];

intmain()

sort

(buf,buf+n)

;double ans=0;

int idx=0;

while

(m>

0&& idxelse

idx++;}

printf

("%.3lf\n"

,ans)

;//輸出

}return0;

}

輸入

輸入資料報含多個測試例項,每個測試例項的第一行只有乙個整數 n(n<=100),表示你喜歡看的節目的總數,然後是 n 行資料,每行包括兩個資料 ti_s,ti_e (1<=i<=n),分別表示第i個節目的開始和結束時間,為了簡化問題,每 個時間都用乙個正整數表示。n=0表示輸入結束,不做處理。

輸出

對於每個測試例項,輸出能完整看到的電視節目的個數,每個測試例項的輸 出佔一行。

樣例輸入:

12

1 33 4

0 73 8

15 19

15 20

10 15

8 18

6 12

5 10

4 14

2 90

樣例輸出:

經過分析發現,選擇結束時間最早的節目才能看到更多完整的節目

#include

#include

using namespace std;

struct program

}buf[

100]

;int

main()

sort

(buf,buf+n)

;int currenttime=

0,ans=0;

//記錄當前時間變數初始值為0,答案計數初始值為0

for(

int i=

0;iprintf

("%d\n"

,ans);}

return0;

}

貪心演算法近期訓練

距離上一次寫blog已經三天了,這三天我才做了三道題,不開心。總是達不到自己的要求。最近總是犯一些低階錯誤,超時已經成為了家常便飯,原來比wa更折磨人的是超時,怎麼改都過不了,這時候發現原來wa也是一件很美好的事情,就算會話一段時間,但是能找出來自己的錯誤,一般可能是考慮不全面或者是小細節的問題,但...

洛谷貪心演算法訓練(python實現)

貪心演算法的理解 這種題目不會有很明顯的正確性證明,因為可能從題目的意思好像不能完全符合,但其中的奧妙需要自己去理解,沒有固定的套路 這個問題主要是需要進行貪心,刪除左邊很大的數,看到很多人都是貪心將前面大的數給刪掉讓出來給小的數,首先可以保證前面的值一定是很大的值就行.但是字尾處理0也是乙個問題,...

2016春季訓練 貪心

這一題理解題意是乙個問題,也就說,我們先知道了全年的情況,下面我們只要連續五個月計算盈虧,那麼賺了,則一定是s,虧了就一定是d,所以理論上,我們可以計算出前五個月的情況的。include include using namespace std int main long long s,d while...