- 博客(2)
- 收藏
- 关注
原创 最小堆的粗略学习
其实堆就是一个特殊的完全二叉树(当然,所有用堆的题目都可以用线段树解决),堆分最小堆和最大堆,我们这里先介绍最小堆。定义: 最小堆,是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于其左子节点和右子节点的值。构造: 先一个个输入元素key【i】,将其构造成一个二叉树,其中任一非终端节点的数据值均不大于其左子节点和右子节点的值。for(int i=1;i&l...
2018-05-01 09:24:39 315
原创 RMQ学习记录
RMQ学习记录RMQ即区间最值算法,它可以在O(nlogn)时间内进行预处理,然后在O(1)时间内回答每个查询。具体怎么实现呢?解决方法:(一)首先是预处理,用动态规划(DP)解决。设a[i]是要求区间最值的数列,maxsum[i][j]表示从第i个数起连续2^j个数中的最大值。即maxsum[i][j]=max(i,i+1......i+2^j-1)例如:a数列为3 2 4 5 6 8 1 2 ...
2018-04-30 21:00:47 158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人