贪心
爱莉我老婆
Java萌新算法选手一枚,去过蓝桥国赛。励志补全Java版本的算法模板
展开
-
贪心二分之分组组队
该怎么做,我们的做法是首先将所有的人的实力按升序排列,拍好后,我们将实力连续的人们分为一组。举个例子,1,1,2,2,3,3,4,4分组分为两组每组四个人首先按1是第一组,继续下来又是一个1把它分为第二组,接下来是2,记住我们把它分到第二组,又是额2,把它分到的第一组。就是这样分,一个数优先从后面的组遍历到前面的小组,如果能在后面的小组接上,就接在后面的小组上。为什么呢,我们想如果把所有的数优先接到第一组上那么1,2,3,3,4,答案就是1而不平均,而优先接到后面的组上就可以平均了。做法有了,就上代码,原创 2023-09-15 15:18:58 · 46 阅读 · 0 评论 -
贪心系列洛谷P1056 [NOIP2008 普及组] 排座椅
那我们首先应该统计一下每一个横分割线和每一个竖分割线能分割的同学的数量。在这里如果两个人的横坐标相同,那就使用竖分割线,选取竖坐标最小的。然后我们排序对数组排序假如竖分割线。只能选取两个那我们排完序后只要拿着原数组的每一个元素同第三大的数比较比第三大的数大的话就输出即可。本题要求我们找到分割线使得上课交头接耳的学生数量最少。因为题目要求我们能横着分割线和竖分割线有限制。语言表达多有漏洞,上代码。原创 2023-05-09 16:54:01 · 242 阅读 · 1 评论 -
贪心系列之删数字
我们怎么考虑这个问题,我们首先从最高位的开始考虑,最高位是1比3小,不行,第三位又比第二位大,一次向后,我们发现最后一位又比前一位大,所以我们只能删除最后一位。大家想想,如果是13456,我们删除一个数字,肯定会选择删除6来得到最小,如果删除1就大了。因此,我们可以得出结论,我们的步骤就是每次从最高位开始,一次删除比下一个元素大的元素。我们再看样例3217我们删除两个数字,3比2大,删除3,2比1大,删除2,剩下17.我们怎么考虑这个问题,我们知道要使得删除后的数字最小,我们要把握的原则就是优先删除。原创 2023-09-11 17:10:57 · 86 阅读 · 0 评论