Files
cpp-courseware/2.Course/1.深入浅出程序设计竞赛(基础篇)/2.初涉算法/5.贪心算法/课后题目/贪心算法(下) 课后题目 答案.md
T

1.0 KiB
Raw Blame History

参考答案

一、 填空题

  1. 合并
  2. 权值最小
  3. Q1的队头,Q2的队头
  4. 频率
  5. 两堆果子的重量(或权值)之和

二、 单项选择题

  1. B
  2. B
  3. C (先合并10和20,成本30,新堆为30。再合并两个30,成本60。总成本30+60=90)
  4. B (因为后合并的权值更大,放队尾可维持Q2有序)
  5. B
  6. B
  7. D (活动安排属于区间选择贪心模型)
  8. C
  9. C

三、 判断题

  1. × (讲义中{30,30,30,30}的例子说明对半分更好,但{10,20,30,40}的例子说明分离最大更好,证明单一策略不是普适的)
  2. √
  3. × (应该尽可能晚地参与合并)
  4. √
  5. × (不一定,全局最小值在两个队头之一,但无法保证Q1队头一定小于Q2队头)
  6. × (可以调整,变为每次合并权值最小的k个)
  7. √ (这是前缀码的定义,也是哈夫曼编码的性质)
  8. √
  9. √ (每次操作的成本是被分的那一摞卷子的总数量,总成本是所有操作成本之和)