RMQ
Self-Discipline
在校大学生
展开
-
RMQ模板(以poj 3264为例)
题目:点击打开链接 题意:N头牛,标号1—N,每头牛一个高度,求Q次查询l,r标号内的最高与最低之差。 分析:RMQ模板题。RMQ入门参考https://blog.csdn.net/hnust_lizeming/article/details/81607381,RMQ很好理解,本质是倍增(二分)。 代码: #pragma comment(linker, "/STACK:102400000,10...原创 2018-10-18 12:18:19 · 208 阅读 · 0 评论 -
hdu-5289
题目:点击打开链接 题意:给出一个数列,问其中存在多少连续子序列,子序列的最大值-最小值< k 。 分析: 解法一:二分+RMQ,枚举左端点,RMQ预处理(st表),二分找到每个左端点满足条件的右界。 解法二:单调队列,维护两个单调队列,一个单调递增,一个单调递减,双指针,第一个第二个指针初始指向第一个数据,第一个指针按顺序不断向队尾添加数据,当最大值最小值的差大于等于k后,就意味着新添...原创 2018-10-28 15:11:50 · 444 阅读 · 0 评论 -
UVA11235 Frequent values 频繁出现的数值(RMQ)
题意:给出一个非降序的整数数组,你的任务是对于一系列询问,回答区间内出现最多的值的次数。 分析:详见《训练指南》P11235。因为这个数组是非降序的,所以可以把所有相等的元素组合起来用二元组表示,例如-1,1,1,2,2,2,4就可以表示为(-1,1)(1,2)(2,3)(4,1),其中(a,b)代表有b个连续的a。val[i]代表第i段的数值,cnt[i]代表第i段连续的长度,num[i]表示...原创 2019-07-09 10:01:43 · 228 阅读 · 0 评论