#JC1028. 贪心算法
贪心算法
一、单项选择题(每题2分,共20分)
1、贪心算法的核心思想是?()。 {{ select(1) }}
- 遍历全部数据,暴力枚举所有可能性
- 每一步选择局部最优解,期望得到全局最优解
- 通过差分进行区间修改求结果
- 将范围不断对半缩小进行查找
2、“贪心的小童”题目,4堆胡萝卜,要拿到总重量最大的4根胡萝卜,做法是?()。 {{ select(2) }}
- 每一堆选取重量最小的胡萝卜
- 随机从每一堆拿一根胡萝卜
- 每一堆选取重量最大的胡萝卜
- 全部胡萝卜统一排序取前4根
3、乘船问题,船载重固定,想要船上士兵的人数尽可能多,应该如何选择?()。 {{ select(3) }}
- 优先选体重最重的士兵
- 优先选体重最轻的士兵
- 随机挑选士兵上船
- 体重中等的士兵优先上船
4、士兵突击题目中,需要使用哪个函数对士兵体重从小到大排序?()。 {{ select(4) }}
- printf
- sort
- cin
- return
5、一艘船最多坐2人,给定人员体重与船载重,求最少船只数量,正确的双指针做法是?()。 {{ select(5) }}
- 排序后,最轻和最重尝试配对
- 排序后,最轻和次轻配对
- 排序后,最重和次重配对
- 不排序,直接依次上船
6、排队答疑使平均完成时间最短,应该如何安排学生顺序?()。 {{ select(6) }}
- 答疑时间长的同学排在前面
- 答疑时间短的同学排在前面
- 按照输入原始顺序排队
- 答疑时间中间的同学排在前面
7、已知士兵体重{7,2,6,4,5},船载重11,士兵突击题目,最多可以运送几名士兵?()。 {{ select(7) }}
- 2
- 3
- 4
- 5
8、在最少船只问题中,排序后a[i] + a[j] > m,代表含义是?()。
{{ select(8) }}
- 最轻和最重可以同乘一艘船
- 最重的人只能单独占用一艘船
- 最轻的人只能单独占用一艘船
- 所有人都可以两两配对
9、下面关于局部最优解与全局最优解说法正确的是?()。 {{ select(9) }}
- 局部最优一定可以得到全局最优
- 贪心算法依靠局部最优尝试推导全局最优
- 局部最优和全局最优没有任何关系
- 全局最优一定不需要局部最优
10、排队答疑样例:4名学生答疑时间3、1、2、6,按最优策略总耗时为?()。 {{ select(10) }}
- 22
- 25
- 12
- 5.5
二、判断题(每题2分,共10分)
11、贪心算法每一步选取局部最优,就一定能保证得到全局最优解。() {{ select(11) }}
- 正确
- 错误
12、乘船要让上船人数最多,优先选择体重轻的人,可以节约船的载重。() {{ select(12) }}
- 正确
- 错误
13、最少船只问题需要先对体重数组进行排序,再使用双指针i、j进行处理。() {{ select(13) }}
- 正确
- 错误
14、排队答疑想让平均完成时间最短,要把答疑耗时久的同学排在最前面。() {{ select(14) }}
- 正确
- 错误
15、sort函数排序数组时,需要包含头文件#include <algorithm>。()
{{ select(15) }}
- 正确
- 错误