摘要: 这题很有思维难度,乍一看基本无从下手。 给每个蔬菜钦定退役的时间显然很困难,可以考虑让时光倒流,从后向前递推,然后就变成了某个时间点有一部分蔬菜服役,而已经服役的蔬菜不会退役了。然后就可以直接考虑贪心,每种第一个出现的蔬菜,显然可以单独考虑,加上s[i],然后把蔬菜放到堆里面,就可以在O(pmlog 阅读全文
posted @ 2019-07-13 22:45 hfctf0210 阅读(272) 评论(0) 推荐(0)
摘要: 暴力的做法应该是这样的,维护大小为k的堆,每次插入两点间距离并弹出堆顶。 然后这个做法显然是可以KD-Tree优化的,建立KD-Tree,然后如果该平面内最远点小于堆顶,则直接退出。就当做是复习很久没做的KD-Tree了。 不过有一个细节要注意,求最远点对,(1,2)->(2,1)算一对,所以堆的大 阅读全文
posted @ 2019-07-13 08:23 hfctf0210 阅读(410) 评论(0) 推荐(0)
摘要: 首先显然应该把数组离散化,然后发现是个带修莫队裸题,但是求mex比较讨厌,怎么办?其实可以这样求:记录每个数出现的次数,以及出现次数的出现次数。至于求mex,直接暴力扫最小的出现次数的出现次数为0的正整数,就一句话,这样看似会超时,实际上是O(√n)的复杂度。为什么?假设存在出现1,2,...,x的 阅读全文
posted @ 2019-07-13 07:47 hfctf0210 阅读(289) 评论(0) 推荐(0)