堆:是一种完全二叉树的数据结构,并且具有每个非叶子节点(索引i,从0开始的话)的值大于其左右子节点(2*i+1)的值(大根堆),或者小于其左右子节点(2*i+2)的值(小根堆)。堆的性质决定了其根节点的值必然整个堆中的最大值或者最小值,因此使用堆的这个特性,发明了堆排序。堆排序的大致原理: 1. ....
分类:
编程语言 时间:
2015-01-15 15:47:15
阅读次数:
212
treap通过左右旋维护了一个二叉查找树,根据随机的优先级建立满足优先级大根堆的二叉查找树,在实践中有不错的食府,code也简单。cogs1829 普通平衡树题目大意:进行插入、删除、名次、前驱后继。思路:前面的三种操作都很普通,前驱后继有两种做法(非常不正统吧。。。):1)找到这个数的名次,然后+...
分类:
其他好文 时间:
2015-01-10 10:03:48
阅读次数:
251
[1] push_heap:默认为大根堆,主要是上滤操作。
[2] make_heap:创建堆,默认构建大根堆。他的实现基于这样一个简单的想法:将二叉树中的每个仅二层的子树都构成堆,那么整个数据集的布局几乎即可以满足堆的定义。
[3] pop_heap:将已构成堆的迭代器区间中最大值元素移到区间的最后元素位置。原来的最后元素调整为根结点元素后,再对除最后一个元素之外的区间调整...
分类:
编程语言 时间:
2014-12-18 15:13:55
阅读次数:
192
题目大意:有n天,早上进货中午卖,可以选择卖或者不卖,问最多可以卖出多少人
首先贪心的思想是如果当前能卖就卖
但是这样不一定是最优的
比如说我第一天来一个人把所有的库存都买走了 然后后面基本没有补给 后面的人都饿死了
因此我们维护一个大根堆来记录我们都卖出了多少份
如果有一个人买不到 我们去大根堆里寻找有没有买的比他多的 如果有 把之前的人取消 卖给这个人
这样虽然不能增加答案 但是可...
分类:
其他好文 时间:
2014-12-11 22:31:44
阅读次数:
219
好吧。。。想了半天想错了。。。虽然知道是贪心。。。我们每次找没有被买的两种价格最小的牛,比较a = 当前差价最大的 + 当前优惠券价格最小的牛与b = 当前非优惠券价格最小的牛所以。。。我们要先维护两个小根堆,分别表示用优惠券买的牛的价格和不用优惠券买的牛的价格还有个叫Recover的大根堆,表示当...
分类:
其他好文 时间:
2014-11-01 21:43:40
阅读次数:
309
1、代码如下package better.amy.sort;/** * 堆排序实现 * * @author zhujinrong * */public class HeapSort { /** * 构造大堆 大根堆排序的结果是升序 * * @param a ...
分类:
编程语言 时间:
2014-10-29 14:22:33
阅读次数:
206
第一题:题目大意:给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小.N,Mn 无解一个点)。2.AC算法(双向链表+堆优化贪心):先贴一段官方题解:借鉴网络流中的残余流思想,用堆来维护解决。映射建大根堆,记录每一个数值在堆中的位置好方...
分类:
其他好文 时间:
2014-10-23 22:19:11
阅读次数:
184
堆排序分为两个过程:1.建堆。堆实质上是完全二叉树,必须满足:树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。堆分为:大根堆和小根堆,升序排序采用大根堆,降序排序采用小根堆。如果是大根堆,则通过调整函数将值最大的节点调整至堆根。2.将堆根保存于尾部,并对剩余序列调用调...
分类:
编程语言 时间:
2014-10-03 00:28:23
阅读次数:
255
题目大意:给定一个序列,找到k个长度在[l,r]之间的序列,使得和最大
暴力O(n^2logn),肯定过不去
看到这题的第一眼我OTZ了一下午。。。后来研究了很久别人的题解才弄明白怎么回事。。。蒟蒻果然不能理解大神的思路啊0.0
首先维护前缀和,那么以第i个元素结尾的和最大的序列自然就是sum[i]-min{sum[j]}(i-r
然后我们维护一个大根堆,每取走一个以i为结尾的元素,加入s...
分类:
其他好文 时间:
2014-09-30 14:55:09
阅读次数:
139
个人感觉堆排序还是在排序算法中比较难懂的,看了一段时间。准备把其中的思路理一理。首先,堆分为大根堆和小根堆。堆是满足下列性质的数列{r1, r2, …,rn}: 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。那么如何进行排序呢? 1. 我们要把序列构建为堆,建堆的核心就是不断的调....
分类:
其他好文 时间:
2014-09-07 13:26:55
阅读次数:
205