![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RMQ
九野的博客
这个作者很懒,什么都没留下…
展开
-
RMQ转LCA
数组里的最小值做根左边的数在左子树右边的数在右子树递归建成整棵树就从rmq转成lca了左右的数 是数组中 相对父节点 下标 比如对数组 7 5 8 1 10建出的树是这样的原创 2013-11-11 19:00:06 · 1736 阅读 · 0 评论 -
HDU 2874 LCA转RMQ裸题
题意: 给定无环无向 不一定连通的图,求任意点间最短距离 n个点 m条无向边 que个询问下面u v dis 为边及边长 下面que行u v表示u v点最近距离 思路:LCA转RMQ ,用并查集判断点是否连通 #include #include #include#include#define N 10010using names原创 2013-11-11 21:41:00 · 2005 阅读 · 0 评论 -
HDU 3078 LCA转RMQ
题意:n个点 m个询问下面n个数字表示点权值n-1行给定一棵树m个询问 k u vk为0时把u点权值改为v或者问 u-v的路径上 第k大的数 思路:LCA转RMQ求出 LCA(u,v) ; 登山坡式找到路径上所有点并记录其权值排序输出k大的数#include#include#include#include#include#inc原创 2013-11-14 18:57:47 · 1665 阅读 · 0 评论 -
UVA 11235 求区间连续数的众数 RMQ
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2176题意:给定n长的序列, query次询问下面n个数表示询问对于每次询问的区间,回答该区间连续相同的数 这样的段最长有多长思路:RMQ裸题特判下左右端点然后中间部分R原创 2014-02-25 00:32:55 · 2319 阅读 · 0 评论 -
RMQ 的 ST算法模版
转自gx巨巨http://blog.csdn.net/u012350533/article/details/14645881 /*ST算法:基于动态规划求区间最值的算法。分为预处理和查询两部分预处理:定义 F[i][j] 为从 i开始到 i+2^j-1 区间内的最值 , 我们可以讲这段2^j的区间分成两部分长度都为2^(j-1)的相同区间区间1 为 i..原创 2013-11-10 10:32:24 · 2866 阅读 · 1 评论 -
POJ 2559 Largest Rectangle in a Histogram RMQ || 单调栈
题目链接:点击打开链接题意就是求最大面积枚举每个柱子作为起点然后二分两边长度。 求个区间最值。#include#include#includeusing namespace std;#define ll long long#define N 100100inline bool rd(int &n){ int x = 0, tmp = 1;原创 2014-08-16 17:08:04 · 1227 阅读 · 0 评论 -
UVALive 6531 Go up the ultras 单调栈+RMQ
题目链接:点击打开链接题意:给定n座山下面n个数字表示n座山的高度若这座山u合法,则要满足:1、若u的左边存在比u高的山,设v是u左边距离u最近的且严格比u高的山,在[v,u]之间至少有一座山x,使得x和u的高度差>=150002、右边也同理。同时满足1、2的情况则算合法。问:输出所有合法的山。思路:求距离某个点最近的山就是维护一个单调栈,然后给原创 2014-10-30 00:05:01 · 1789 阅读 · 0 评论 -
CodeForces 514D R2D2 and Droid Army RMQ+二分
题目链接:点击打开链接题意:给定n m k下面是n*m的矩阵最多可以操作k次,每次操作可以使任意一列上所有的数 -= 1,( 0还是0)要求得到连续最多的行数(每行里的整数都为0),输出任意一个方案(在每一列上操作的次数)思路:把每列单独考虑枚举每行,二分找这行往下最多能清空的行数,RMQ维护一列的最大值。import java.io.BufferedR原创 2015-03-01 22:53:01 · 1158 阅读 · 0 评论