E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
RMQ
【
RMQ
】POJ 2452
j:i;} intdp1[20][N];//dp[i][j]表示从j开始,长度为2^i区间最大值(最小值) intdp2[20][N]; intn,m; voidinit_
rmq
(){ inti,j;
leolin_
·
2012-02-07 15:00
【
RMQ
】POJ 3264
a:b;} intdp1[20][N]; intdp2[20][N]; intf[N]; intn,m; voidinit_
rmq
(){ inti,j; for(i=1;i<=n;i++){ dp1[0
leolin_
·
2012-02-07 13:00
【
RMQ
+离散化】POJ 3368
RMQ
预处理的复杂度为O(nlgn),询问的复杂度为O(1)//离散化:从小到大记录这个序列每个值的起始位置、结束位置和频数 #defineN100010 intmax(inta,intb){returna
leolin_
·
2012-02-07 12:00
【
RMQ
& LCA】
算法之LCA与
RMQ
问题1、 概述LCA(LeastCommonAncestors),即最近公共祖先,是指这样一个问题:在有根树中,找出某两个结点u和v最近的公共祖先(另一种说法,离树根最远的公共祖先)
leolin_
·
2012-02-07 03:00
poj 3264
转自大牛分析:
RMQ
(RangeMinimum/MaximumQuery)问题:
RMQ
问题是求给定区间中的最值问题。
sysucph
·
2012-02-06 15:00
郑州培训Day4
什么LCA的两种求法,
RMQ
与LCA的互换。完全没有开始写高级的东西。所以这里就不发了。
c++&oi
·
2012-02-03 20:00
POJ 2796 Feel Good 单调栈
这个比
RMQ
的ST算法要快很多,ST算法要枚举每一个区间(没想到其他做法,可能要dp,反正不会)。这个题关键在于给每一个点找一个最长子序列,使其最小值为其本身,这样扫一遍得到结果。
waitfor_
·
2012-01-21 16:00
RMQ
代码
RMQ
,即是区间最值查询,对于长度为n的数列A,回答若干询问
RMQ
(A,i,j)(i,j #include usingnamespacestd; #defineM100010 #defineMAXN500
Detective_Xin
·
2012-01-19 16:00
算法
ini
HDU2874并查集+(LCA-
RMQ
)
#include #include usingnamespacestd; #defineMAX10010 intn,m,q; inttol;//边的个数 intcnt;//点的个数 /*****************并查集,用于把树木合成树**********************/ introot=0;//添加的虚结点 intfather[MAX]; voidMerge(inta,i
mishifangxiangdefeng
·
2011-12-29 18:00
HDU2888二维
RMQ
HDU2888二维RMQdp[row][col][i][j]表示[row,row+2^i-1]x[col,col+2^j-1]二维区间内的最小值这是
RMQ
-ST算法的核心:倍增思想==min([row
mishifangxiangdefeng
·
2011-12-28 15:00
poj4003 树形dp,
rmq
_st
很综合的题目,出得非常好第一个问题是求以树中的每个节点为起点所能走的最长路:首先,求出各个点的最长路,次长路,以及最长路的后继节点,再据此得到答案第二个问题,需要
rmq
,并且维护一个队列,只要满足条件,
lencle
·
2011-12-08 20:00
ini
应用倍增法后缀数组以及
RMQ
求解N个字符串最长公共子串问题
SuffixArray { int max_char = '\uffff'; char separator = '$'; char eof = '#'; int[][]
rmq
leon_a
·
2011-11-30 16:00
后缀数组
基数排序
RMQ
倍增法
Ural 题目分类
:优先队列维护靠前的空间,单调队列维护删除1067:改造版Trie+DFS1090:经典逆序对问题,树状数组/线段树/归并排序1100:惟一的玄机就是stable_sort1126:固定的一个序列里面
RMQ
cqlf__
·
2011-11-29 23:00
vector
tree
Cryptography
数学计算
Numbers
combinations
joj 2660 河床
rmq
的st算法,还有就是从头遍历的小技巧,不然仍然会超时。。。。#include#include#includeusingnamespacestd;#definemax(a,b)(a>b?
qiankun1993
·
2011-11-19 15:00
rmq
的st算法及模板
RMQ
(RangeMinimum/MaximumQuery)问题是指:对于长度为n的数列A,回答若干询问
RMQ
(A,i,j)(i,j#include#include#definemax(
qiankun1993
·
2011-11-19 15:00
RMQ
(线段树实现)
T_T第一个线段树程序,还没A过题,不过也很感动,先贴出来//下标从0开始,输入-1-1结束.求每一段区间之间的最大值。#include #include typedefstructTreenode{ intld,rd; structTreenode*lc,*rc; intkey; }node; intmymax(inta,intb){ returna>b?a:b; } node*build
shiow1991
·
2011-10-26 08:00
struct
search
insert
zkw线段树 标记下放
zkw线段树的标记上传好像只能做区间修改的
rmq
,但标记下放应用面就与朴素线段树差不多了,但是漂亮很多。
huyuncong
·
2011-10-23 09:00
SOJ-1008(将LCA问题转化为
RMQ
)
/****************************************************************************************************** **Copyright(C)2011.05.01-2013.07.01 **Author:famousDT **Editdate:2011-04-23 ****************
famousDT
·
2011-10-21 08:00
线段树实现
RMQ
问题(线段树模板的基本应用)
RMQ
问题如果用线段树实现的话,可以实现O(nlogN)的预处理,O(logN)的查询,速度还可以。以求最大值为例,将key定义为区间的最大值。
geeker
·
2011-10-20 19:00
poj-3368 Frequent values ***
/* 480ms * poj-3368.cpp * Created on: 2011-10-14 * * *
RMQ
: * 10 3 -1 -1 1 1 1 1 3 10 10
·
2011-10-15 20:00
value
poj-3264 Balanced Lineup *
/* * 入门题 *
RMQ
Sparse-Table : O(nlgn) - O(1) * * 2000ms... * */#include <cstdio>using namespace
·
2011-10-14 23:00
poj
RMQ
+1/-1算法
[转] http://blog.csdn.net/ljsspace/article/details/6659517
RMQ
+1/-1问题要求数列中相邻两个元素相差+1或-1。
·
2011-10-14 22:00
算法
Range Minimum Query and Lowest Common Ancestor(
RMQ
和LCA 找个时间翻译下)
Introduction Notations RangeMinimumQuery(
RMQ
) TrivialalgorithmsforRMQ Asolution SparseTable
TheAlgorithmArt
·
2011-09-26 20:00
rmq
模板(poj3264验证)
搜索不收藏,线段树方法不收藏,只收藏st算法,这个算法和线段树差不多,建树和建dp数组的时间复杂度都是n*log(n)不同的地方就是查找,线段树查找的时间复杂度是n*log(n),st算法是o(1)所以线段树的总时间复杂度是(设m为查询次数):m*n*log(n)而st算法是n*log(n),要是查询多了。。。。线段树果断悲剧。。。。#include #include #include #incl
bochuan007
·
2011-09-19 04:00
算法
query
hdu 2888(二维
RMQ
)
CheckCornersTimeLimit:2000/10000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):858 AcceptedSubmission(s):275ProblemDescriptionPauldrawabigm*nmatrixAlastmonth,whoseentrie
fp_hzq
·
2011-09-17 21:00
c
Integer
each
Matrix
output
Numbers
RMQ
RMQ
英文是Range Maximum(Minimum) Query,是用来求某个区间的最大值/最小值,通常用在查询次数比较大的区间最值问题中。
RMQ
的原理是动态规划,利用了倍增的思想。
eriol
·
2011-09-12 21:00
RMQ
LCA问题向
RMQ
问题的转化方法
如果结点E[i]的深度记做D[i],易见,这时求LCA(T,u,v),就等价于求E[
RMQ
(D,R[u],R[v])],(R[u]
lmyclever
·
2011-09-03 08:00
RMQ
问题——
RMQ
问题(Range Minimum Query)
RMQ
问题是指:对于长度为n的数列A,回答若干询问
RMQ
(A,i,j)(i,j<=n),返回数列A中下标在[i,j]里的最小值下标。
lmyclever
·
2011-09-03 08:00
RMQ
与LCA算法总结
//apps.hi.baidu.com/share/detail/33202817下面放出总结的表:算法处理方式复杂度备注转化算法LCA=>±1RMQN/AO(n)引理1,规模O(n)–O(2n-1)
RMQ
lmyclever
·
2011-09-02 20:00
算法
ural1297后缀树组--2
rmq
处理之后,每次对lcp(i,n-i-1)求以i为中心的奇数的回文串,lcp(i,n-i)求以i和i-1为中心的偶数回文串长度。。。
ggggiqnypgjg
·
2011-08-21 17:00
RMQ
的ST算法
RMQ
即rangemaximum/minimumquery1、朴素(即搜索),O(n)-O(qn)online。2、线段树,O(n)-O(qlogn)online。
jxy859
·
2011-08-21 09:00
POJ 3368 Frequent values
RMQ
/ 线段树
题意;给定一个升序的数列(1-100000),比如array[10]= -1 -1 1 1 1 1 3 10 10 10,求其中某段区间上相同的数字最多有几个。[2,3]=1,[1,10]=4,[5,10]=3。(下标从1开始)。题解:先将连续相等的几个数合并为一个部分(part),或者说一个点。每点包括了起始位置,终止位置,相等元素个数三个信息。 查询的时候需要整点的查询,假设对区间
Tsaid
·
2011-08-13 16:00
POJ 3264 Balanced Lineup
RMQ
/ 线段树
题解:
RMQ
,注意边界需要理清楚。
Tsaid
·
2011-08-13 09:00
poj 2823
这题很坑爹,先说说题意:就是找从头开始每k个的最大值,最小值,很容易的想到了
rmq
,不过我今天是练习单调队列,写完后一交,tle。。。
xymscau
·
2011-08-10 19:00
RMQ
问题的树状数组解法
树状数组中每个元素覆盖了不同长度的子区间,类似于稀疏表(ST)算法的思想,每一个数组元素存储了输入数列A在该区间的最小值下标。注意:这里树状数组不是用来存储区间累加值,而是区间的最小值下标。这里针对预处理阶段提供两个算法:方法1(参考以下实现代码中的方法preprocess)采用类似于累加和中的update做法,每一个元素A[i]需要处理树状数组T中O(logn)个受影响的元素,因此预处理复杂度为
ljsspace
·
2011-08-10 00:00
Algorithm
算法
less
存储
query
recursion
RMQ
问题的Fischer-Heun算法(直接方法)
在普通
RMQ
问题的算法中,由于需要构造CartesianTree和得到Eulertour,两个2*n-1大小的数组E和L使得空间消耗增加O(4*n)。
ljsspace
·
2011-08-07 12:00
Algorithm
算法
tree
table
Class
Numbers
普通
RMQ
问题转化为LCA问题的算法
该算法分以下两大步骤:1)将
RMQ
问题转化为LCA问题:先构建输入数列A的笛卡尔树,构建笛卡尔树的复杂度为O(n)。
ljsspace
·
2011-08-06 00:00
poj 3264 Balanced Lineup
poj3264BalancedLineup果的
RMQ
的ST#include #include int n, q;int num[50050], dpmax[50050][20], dpmin[50050
purplest
·
2011-08-05 23:00
RMQ
+1/-1算法
RMQ
+1/-1问题要求数列中相邻两个元素相差+1或-1。利用这个限定条件可以使该算法复杂度总体上达到。
ljsspace
·
2011-08-04 14:00
Algorithm
算法
exception
table
query
Intervals
POJ 3368
RMQ
- ST
//找序列[a,b]之间出现频率最多的数,输出频率 //因为是有序序列所以,可以转化成
RMQ
,w[i]=num[i]累计出现次数 //然后找[a,b]之间最大的w[i]就可以了 //考虑开头的情况,用st
rptotal
·
2011-08-03 10:00
RMQ
问题的ST算法
ST(SparseTable)算法的基本思想是,预先计算从起点A[i]开始长度为2的j次方(j=0,1...logn)的区间的最小值,然后在查询时将任何一个区间A[i..j]划分为两个预处理好的可能重叠的区间,取这两个重叠区间的最小值。在预处理阶段,从起点A[i]开始,任何一个长度为2^j的区间都可以划分为两个长度2^(j-1)的区间,其中第一个区间的范围为:i...i+2^(j-1)-1;第二个
ljsspace
·
2011-08-02 22:00
Algorithm
算法
String
table
Mina
Intervals
RMQ
问题的线段树解法
RMQ
(RangeMinimumQuery)问题是计算一个输入数列A[0...n-1]从位置i到位置j之间的最小值,即
RMQ
[i,j]=min{A[k],k=i,i+1...j}。
ljsspace
·
2011-08-02 19:00
算法
String
tree
table
query
Class
线段树心得
线段树用途:
RMQ
,线段求长,矩形交,矩形并等…… 线段树基本操作:建树,插入,删除,查询,更新,删树因为它是一棵二叉树,所以它的操作一般除了建树,删树是O(N),其余的都是O(LogN)的。
q573290534
·
2011-08-01 19:00
list
tree
query
input
each
Matrix
poj2406(kmp,后缀数组)
开始是用后缀数组做的,
RMQ
果断超了内存,全部改用unsignedshort结果又超时,后来参考了论文里的方法。
ysjjovo
·
2011-07-27 12:00
Poj 2823 (单调队列)
同样是区间最值问题,线段树、
RMQ
、数状数组可以解决,不过此题有一点不同之处在于,其窗口是连续滑动的,貌似有动态规划的性质:p[i][k]=max(p[i-1][k-1],
dooder_daodao
·
2011-07-25 20:00
优化
存储
ini
insert
RMQ
_ST算法
原文链接:http://kmplayer.iteye.com/blog/575725 ST算法(SparseTable):它是一种动态规划的方法。 以最小值为例。a为所寻找的数组.用一个二维数组f(i,j)记录区间[i,i+2^j-1](持续2^j个)区间中的最小值。其中f[i,0]=a[i];所以,对于任意的一组(i,j),f(i,j)=min{f(i,j-1),f(i+2^(j-1),j-1)
allenjy123
·
2011-07-24 11:00
POJ--1986[Distance Queries] DFS+
RMQ
(最近公共祖先)
源代码: /*DFS+
RMQ
(最近公共祖先)*/ /* 注: (1):Index[x]:表示标号x的结点最早出现的位置 (2):R[]:按dfs访问顺序存每个结点的标号 (3):depth[x
allenjy123
·
2011-07-23 01:00
BUPT 203 Palindrome
前面求出每个点为中心的最长回文字,接着对于一个[l,r]的查询,有两种二分方法第一是left=1,right=r-l+1,mid=(l+r)>>1,对于[l+mid-1,r-mid+1]这个区间用
RMQ
hqd_acm
·
2011-07-22 16:00
RMQ
(Range Minimum/Maximum Query)算法
1.概述
RMQ
(RangeMinimum/MaximumQuery),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问
RMQ
(A,i,j)(i,jO(nlogn) { for(intj
niushuai666
·
2011-07-22 08:00
算法
table
query
二维
rmq
zoj2859
zoj2859题意:给定一个n*n(n #include #definemin(x,y)(x)>(y)?(y):(x) constintmaxn=310; intN; intval[maxn][maxn]; //2DRMQ //dp[row][col][i][j]表示[row,row+2^i-1]x[col,col+2^j-1]二维区间内的最小值. //dp[row][col][i][j]
lilongherolilong
·
2011-07-21 23:00
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他