摘要: 题目 题目 讲解 假设我们现在这个货仓建立在$(a[i],a[i+1])\(之间(注意,不是\)[a[i],a[i+1]]\(),那么我们向右移动,整个距离变化是:\)(n-i)-i=n-2i$,而向右移动是$i-(n-i)=2i-n$,所以当$n-2*i=0$时,说明没有办法再让结果增大或者减少了 阅读全文
posted @ 2020-07-30 15:15 敌敌畏58 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题意 题意 题解 都是用离散化的吗?这么神奇? 我的思路就是对于$a$排序,对于语音和字幕的也分别排序,然后三个指针一起从小到大跳得到每个电影的语音和字幕能让多少个人高兴起来。 时间复杂度:\(O(nlogn+mlogm)\) 代码 #include<cstdio> #include<cstring 阅读全文
posted @ 2020-07-30 14:51 敌敌畏58 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题目 题目 题解 会告诉我们$a,b$的大小关系,也就是$>\(或者\)<$的比较关系,然后排序,不就是根据比较进行排序吗?然后看数据范围,发现最多只能比较$nlogn$次,所以我们要选择通过比较进行排序的算法中时间复杂度是$O(nlogn)$(因为比较排序的比较次数就差不多等于时间复杂度)的才可以 阅读全文
posted @ 2020-07-30 14:19 敌敌畏58 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题意 题目 做法 做法1 没错,这个时间复杂度垃圾的做法就是我的做法。 我们用double进行二分,二分可能的平均值,这个平均值是否满足要求是满足二分性的。 但是$check$函数怎么打呢?也就是说我们要确认一个数列能否构成这样的平均值$x$,该怎么做呢?我们只需要把每个数字减去$x$,然后判断是否 阅读全文
posted @ 2020-07-30 11:04 敌敌畏58 阅读(167) 评论(0) 推荐(0) 编辑