问答题
在一个操场的四周摆放着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......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
问答题 用动态规划算法解0-1背包问题:n=5,w=[2,9,4,6,7],p=[6,10,12,8,13],c=15。
问答题 用快速排序算法对序列45,35,65,97,78,13,27进行排序。 (每一趟排序以第一个元素为数轴。要求每一趟排序有完整的过程。)
问答题 给出一个赋权无向图如下,求顶点S到T的最短路(直接在图上用粗线画出即可)