摘要: 给了一组数找到4个数和为0 思路:肯定得先排序,和为0那么说明有正有负,易知任意两个相加等于另外两个的相反数,我们可以先枚举前两个,然后通过二分来查找剩下两个数的和res,从前往后枚举一个较小,从后往前枚举一个较大的。当res>sum时说明较大值取大了需缩小,res<sum,说明较小的取小了,应该增 阅读全文
posted @ 2022-07-13 17:13 Armored_bear 阅读(30) 评论(0) 推荐(0)
摘要: 解题思路:首先先把能当做山峰的点找出来即a[i-1]<a[i]<a[i+1],收入集合中,其次从1开始遍历用二分找到距离大于等于i的,找到i面继续循环,往下循环直至找不到i面 注意:我们不仅要存放旗子的高度且要存储每面旗子初始的距离,所以要用结构体struct E,其次是在二分时循环变量的处理,当找 阅读全文
posted @ 2022-07-12 22:01 Armored_bear 阅读(34) 评论(1) 推荐(0)
摘要: 思路:优先队列,以结束时间为关键字进行排序,最好的结果是全部放入队列中,但必然会出现冲突,我们从头开始遍历当冲突出现时即现在的时间放不下这么多的东西,我们需要前面的数腾位置,为了使值最大让最小的出去,此时只能用堆即优先队列,来维护。 特别注意:对取堆顶的判断条件,当结束时间<=堆的大小时,需要堆顶需 阅读全文
posted @ 2022-07-12 21:06 Armored_bear 阅读(26) 评论(0) 推荐(0)