笛卡尔树就是你给两维限制,一维堆R,一维二叉搜索树K,平地拔起一棵Treap,最广范的应用:用LCA求区间最值,建Treap,还有个什么范围top k我表示并不会查都查不到。它最妙最高的地方在于用栈来建树:我们可以先排序K然后一个个插入,那么我们都是最右端,横容易被卡,那么我们不从上到下,我们从下到 ...
分类:
其他好文 时间:
2017-07-26 23:29:34
阅读次数:
193
一、区间最值 1.单点替换: 2.区间增减:当一段区间整体增加(减少)某一个定值时,这段区间的最值也同时增大(减小)这个值,可参照区间和中区间增减的代码。 二、区间和 区间和是线段树可维护的最基本的信息,其他所有线段树可维护的序列信息,都是以区间和为模板建立的。 1.单点增减、单点替换: 2.区间增 ...
分类:
其他好文 时间:
2017-07-24 22:23:11
阅读次数:
148
RMQ问题:给定一个长度为N的区间,M个询问,每次询问Li到Ri这段区间元素的最大值/最小值。 RMQ的高级写法一般有两种,即为线段树和ST表。 本文主要讲解一下ST表的写法。(以区间最大值为例) ST表:一种利用dp求解区间最值的倍增算法。 定义:f[i][j]表示i到i+2^j-1这段区间的最大 ...
分类:
编程语言 时间:
2017-07-16 15:51:39
阅读次数:
176
线段树写法不管,比较灵活。这里主要讨论DP实现。 其实单纯说RMQ解决的是区间最值查询是不准确的,只要满足一个区间的信息可以从它的覆盖区间获得(即[L,R]<=[L,r],[l,R] (l<=r) ,允许两个子区间重合)即可使用。重合不影响最值判断,所以最值查询是可以用RMQ的,其次如同区间gcd, ...
分类:
其他好文 时间:
2017-07-12 17:39:40
阅读次数:
112
先放一个吧,过两天在写几个补充完整。 区间求最值: 相关题目: ① NOJ1680,单点修改求区间最值,模板题 https://ac.2333.moe/Problem/view.xhtml?id=1680 ...
分类:
其他好文 时间:
2017-07-06 22:47:26
阅读次数:
183
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 48513 Accepted Submission(s): 18986 Pr ...
分类:
其他好文 时间:
2017-06-22 19:48:43
阅读次数:
214
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 76334 Accepted Submission(s): 29413 Pro ...
分类:
其他好文 时间:
2017-06-21 16:45:55
阅读次数:
191
首先是预处理,用动态规划(DP)解决。 设A[i]是要求区间最值的数列,F[i, j]表示从第i个数起连续2^j个数中的最大值。(DP的状态) 例如: A数列为:3 2 4 5 6 8 1 2 9 7 F[1,0]表示第1个数起,长度为2^0=1的最大值,其实就是3这个数。同理 F[1,1] = m ...
分类:
编程语言 时间:
2017-06-16 19:19:37
阅读次数:
148
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1287 题意:中文题诶~ 解法1:b[i] 存储 max(a[0], ....., a[i]),显然 b 是单调不减的,所以直接二分 x,再更新 a 和 b 数组即 ...
分类:
其他好文 时间:
2017-06-11 18:20:38
阅读次数:
142
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意:有一个 h * w 的板子,要在上面贴 n 条 1 * x 的广告,在贴第 i 条广告时要尽量将其靠上贴,并输出其最上能贴在哪个位置; 思路:可以将每行剩余空间大小存储到一个数组中,那么对于 ...
分类:
其他好文 时间:
2017-06-11 16:23:01
阅读次数:
319