C - Reindeer and Sleigh 2 解説
by
kyopro_friends
直感的な説明
ソリを引くトナカイの力の総和から、ソリに乗るトナカイの重さの総和を引いたものを、余力と呼ぶことにします。問題は「余力が0以上で、ソリに乗るトナカイの数を最大化してください」となります。
全てのトナカイがソリを引く状態から始めて、何匹かのトナカイをソリに乗せることを考えます。
現在のトナカイの配置がどのようなものであっても、トナカイ \(i\) が「ソリを引く」状態から「ソリに乗る」状態になると、ソリを引く力が \(P_i\) 減り、ソリの重さが \(W_i\) 増えるので、余力が \(P_i+W_i\) 減ります。
よって、「ソリに乗る」状態のトナカイの数を最大化するには、余力をできるだけ減らさないように \(P_i+W_i\) が小さなトナカイから貪欲にソリに乗せるのが最適です。
投稿日時:
最終更新:
