粮草采购的最小花费
一、题目核心考点
本题属于贪心算法的经典应用,核心目标是在满足粮草需求量的前提下,通过 “优先采购单价最低的粮草” 的贪心策略,实现总花费最小化。
贪心策略选择:要使总花费最小,需优先采购单价最低的粮草,直到采购量满足需求。这是因为单价越低,单位粮草的成本越低,优先选择能最大化降低总花费。
步骤拆解:
存储每个农户的「单价、可供应粮草数量」;
按单价升序排序所有农户,确保先遍历低价农户;
遍历排序后的农户,每次采购 “当前农户可供应数量” 和 “剩余需求数量” 的较小值,累加花费,直到剩余需求为 0。
代码如下: