https://uva.onlinejudge.org/external/11/p1153.pdf
之前入營考出現過的題目。
有點會讓人誤會的Greedy。
題目說我們有一堆訂單,每個訂單都有一個工作時間和一個期限,問我們最多可以接幾筆訂單。
題目給了兩個提示,
第一個是按照期限做,
第二個是,
先按照期限先後做,如果要做一個工作V的時候發現做不完(時間超過),那就看看之前做的工作,如果有一個工作U花的時間比現在這個工作久,那就把那個工作U換成V。
提示二會對的原因,是因為我們可以發現,同樣做不完一個工作,做工作V和U都是做一個工作,但是U反而花更久時間,換成V的話我還可以剩下更多時間。
實作的話只要排個序然後開個Heap。
1 |
|