2 条题解
-
0
声明:本题洛谷有原题,想C的去C题解。
怕你们说题解代码和我一样
本题是一道典型的贪心问题。我们在读入物品的价格之后,对物品的价格进行排序。然后从价格最小的物品开始枚举,从价值最大的物品反向查看能否与这个物品分为一组。为什么要从价格最大的物品开始进行查看,而不是从价格最小的物品开始呢?我们可以举一个例子。如:10,20,30,40,50
我们看这个数组,当 = 时,在满足每组最多只能包括两件纪念品的要求下,如果从最小的物品开始配对,那么就需要分 组,这明显不是最优的。但是,从价格最大的物品开始配对时,仅需要 组就能满足要求。这便是最优的方案。
最后,我们再扫一遍这个数组,如果有物品没有被分组,那么就只能让这个物品单独一组了。所以说答案 就等于已经分的组数没有被分组的物品的数量。
- 1
信息
- ID
- 227
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 158
- 已通过
- 87
- 上传者