RMQ
文章平均质量分 76
Lazines_by
好吧,我要工作了
展开
-
RMQ(Range Minmum Query)学习
Range Minmum Query 是查询一个区间的最小值得算法, 复杂度为nlog(n), 区间最小值查询问题(Range Minimum Query,RMQ) 原理: 给出一个 n 个元素的数组 A1, A2, …, An,设计一个数据结构,支持查询操作 Query(L,R):计算 min{AL,AL+1,…,AR}令 d(i,j) 表示从 i 开始的,长度为 2^j 的一段元素中的最原创 2016-08-01 16:58:39 · 376 阅读 · 0 评论 -
玲珑杯round#19B 1149 Buildings
题意:给出一个数列和k,求出满足[L,R]区间中最大的数减去最小的数思路:注意到固定l之后,随着r的右移,[l,r]的最大值越来越大,[l,r]的最小值越来越小,故max(hl,…,hr)−min(hl,…,hr)是单调递增的。二分得到r的最大值,答案加上r−l+1。用ST表维护O(1)查询区间最值。时间复杂度O(nlogn)。#includeusing原创 2017-07-31 11:30:36 · 214 阅读 · 0 评论 -
扔盘子(RMQ + 二分)
扔盘子 李陶冶(命题人)基准时间限制:1 秒 空间限制:131072 KB 分值: 10有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方。盘子的高度也是单位高度。给定井的宽度和每个盘子的宽度,求最终落到井内的盘子数量。如图井和盘子信息如原创 2017-09-28 17:14:26 · 198 阅读 · 0 评论