![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
堆
_Mocha_
私はこの世界を深く愛している
展开
-
[BZOJ1150][CTSC2007]数据备份Backup(贪心+堆+链表)
传送门 这题真是一环扣一环,做了好久好久,好题啊! 首先通过题意我们可以敏锐的捕捉到:虽然可以跨楼相连,但是这样是没有意义的,因为相邻的两个点相连一定比跨楼相连更优。 我们将楼与楼之间的距离求出来(n-1个数)那么问题就转化为:在n-1个数中选k个数使得他们相加起来最小,且选了一个数后相邻的两个数不可以再选。 那也就是说,我们需要开一个小根堆维护最小值minn,如果选择...原创 2018-06-30 13:49:37 · 323 阅读 · 0 评论 -
[POJ3784]Running Median(堆动态维护中位数)
传送门 这题需要用到一个名为:“对顶堆”的小技巧 我们以值建立一个大根堆,一个小根堆,假设我们现在的中位数是x,那么用大根堆来储存小于等于x的元素,用小根堆来储存大于x的元素,这样的话,大根堆的堆顶就是x,也就是现在的动态中位数。 那么也就是说我们保证大根堆里的元素都是小于小根堆的,你可以想象这两个堆是“顶”在一起的,他们是两个胖子互相挤来挤去,他们夹着的就是动态中位数,同时我们还...原创 2018-06-30 15:51:41 · 1195 阅读 · 0 评论