概述: RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。对于一次查询,可以暴力地O(n),但是当查询次数很多的时候,这样的暴力就无法进 ...
分类:
编程语言 时间:
2018-01-29 11:43:50
阅读次数:
180
1.RMQ 即区间最值查询,如给定一个序列A,让你求形如[1,4]或[3,8]最值问题,用动态规划求解 设dp[i][j]表示从i到2^j的最值,那么dp[i][0]=a[i], dp[i][j]可划分成dp[i][j-1]与dp[i][i+(1<<(j-1))]两部分 然后在其中取最大值 ,满足最 ...
分类:
其他好文 时间:
2018-01-28 12:50:34
阅读次数:
168
求出最小生成树后lca找最大权即可 #include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct my{ int v; int next; int dist;};struct node{ int x,y; ...
分类:
其他好文 时间:
2018-01-28 12:45:18
阅读次数:
155
题面 "传送门" Sol 这题可能是假的 离线莫队搞一搞,把数字再分块搞一搞,就行了 cpp include define IL inline define RG register define Fill(a, b) memset(a, b, sizeof(a)) using namespace s ...
分类:
其他好文 时间:
2018-01-27 13:53:05
阅读次数:
144
【Luogu4137】Rmq Problem/mex (莫队) 题面 "洛谷" 题解 裸的莫队 暴力跳$ans$就能$AC$ 考虑复杂度有保证的做法 每次计算的时候把数字按照大小也分块 每次就枚举答案在哪一块里面就好 cpp include include include include inclu ...
分类:
其他好文 时间:
2018-01-27 13:45:11
阅读次数:
145
【RMQ】 Range Minimum/Maximum Query 范围最值问题 【ST算法】 解决RMQ问题的有效算法 预处理 经过预处理构造出d,预处理时间复杂度 O(nlogn) 运用动态规划的思想 d(i, j) 表示 范围 i ~ i + 2j-1 的最小值则有状态转移方程 d(i, j) ...
分类:
编程语言 时间:
2018-01-26 00:35:18
阅读次数:
230
对于求区间最大最小值,我们自然而然就想到了一个O(n)时间复杂度的算法,但是如果询问有很多呢?这样必然超时。当然我们可以用线段树来解,使得每一次查询的时间降到log(n),但是对于RMQ算法,只要我们做了些预处理,之后的查询我们仅需要O(1)的时间。Sparse_Table算法是解决RMQ问题的一类 ...
分类:
其他好文 时间:
2018-01-22 21:13:51
阅读次数:
164
1 #include<iostream> 2 using namespace std; 3 #include<cstdio> 4 #include<cstring> 5 /* 6 说明: 7 RMQ<T> rr;定义一个查询区间最小值的数据类型为T 的类 8 SetMaxn(T maxn);设置初始 ...
分类:
编程语言 时间:
2018-01-22 11:59:25
阅读次数:
184
1,poj 1151 Atlantis: 求矩形面积并。 2,poj 1177 Picture: 求矩形轮廓的周长。 3,poj 1389 Area of Simple Polygons :同第一题。 4,poj 1823 Hotel :线段树线段的插入删除求线段树中最长的线段长度 5,poj 21 ...
分类:
其他好文 时间:
2018-01-16 18:45:55
阅读次数:
229
同步方向:源向目标单向同步,源删除而目标不动#!/usr/bin/bashsrcdir=/src//源目录dstdir=bak//目标主机rsync服务共享路径别名rsyncuser=rsync//rsync服务连接用户名rsyncpassdir=/etc/rsyncd.passwd//rsync服务连接密码dstip="10.10.10.5110.10.10.14"//目标主
分类:
其他好文 时间:
2018-01-15 12:34:06
阅读次数:
200