问答题

计算题

在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次至少选2堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大总费用和最小总费用。
输入数据的第1行有2个正整数n和k,表示有n堆石子,每次至少选2堆最多选k堆石子合并。第2行有n个数,分别表示每堆石子的个数。(贪心算法,要求给出贪心策略)

【参考答案】

最小费用策略:每次选k堆最小的堆合并
排序:5,9,12,13,16,22,45;13,16,22,26,45......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)