2011年2月7日 星期一

Codeforces #19 B Checkout Assistant

題意﹕給了N個東西的價格ci及其抵銷值ti,其中抵銷值ti是指你可以買下物品i的同時讓ti件未付款的物品免費。問最少要付多少錢才能把所有東西都買下?

想了很久,也試了很多貪心的方法,都是錯的。然後猛然醒起…只需把所有ti+1,問題就是﹕取物件的抵銷值和>=N,而總價格最少。如此一來就是0-1背包問題了。

今次做這道題比較腦便秘…下次不可再大意。

沒有留言: