作为一个刚开始在洛谷上刷题的菜鸡,一直都是跟着书上或者题解敲代码,最好也是根据题解理思路后才自己敲,今天5min独立AC了一道红题,但我好感动,好久没体会到这种自己的程序AC题目的纯粹快感了,啊,这才是我热爱的oi啊,只要努力就一定有收获,即使我是蒟蒻,即使差距遥远,我也要不负理想,加油! (2021.8.3祭)
题目大意:有N(N <= 20000) 头牛,都有确定的身高(<=10000)。书架高度是B(B<=2*10e9)。现在要选出最少头牛,使它们的身高之和不小于书架的高度。
算法:快排(可用快排模板(思想是分治)或STL中的sort函数)/贪心
写一个cmp函数降序排列奶牛的身高从最高的奶牛开始枚举,sum计数器累加身高,大于等于书架高度B时用变量ans记录i值(等同于奶牛的数量),这里其实是一个弱化版01背包问题,简单的贪心策略,其正确性是显然的,最后输出ans即可,AC代码如下:
#include <bits