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
poj 3264 -- Balanced Lineup (区间最值,线段树/
RMQ
)
第一次
RMQ
,还好
RMQ
版:#include #include #include #include #include #include #include #include #include #include
dlut_ju
·
2013-03-30 09:00
RMQ
poj3264
RMQ
(RangeMinimum/MaximumQuery)问题:
RMQ
问题是求给定区间中的最值问题。
vegetable_bird_001
·
2013-03-25 18:00
LCA的树链剖分实现
计算树中两个节点的最近公共祖先,我们一般有爬山法,Tarjan离线算法,或者是将LCA转换成
RMQ
来解,这里讲一讲一种新的求LCA的算法,它是基于树链剖分的。
dyx404514
·
2013-03-25 17:00
POJ 3264 Balanced Lineup 【
RMQ
求区间最值模板题】
BalancedLineupTimeLimit: 5000MS MemoryLimit: 65536KTotalSubmissions: 26435 Accepted: 12401CaseTimeLimit: 2000MSDescriptionForthedailymilking,FarmerJohn's N cows(1≤ N ≤50,000)alwayslineupinthesameorder
Cfreezhan
·
2013-03-24 20:00
C++
算法
poj
【线段树】 POJ 3264 Balanced Lineup
这题可以用
RMQ
去做,正如我上一篇博客所示……也可以用线段树去做,线段树的应用范围更普遍一些,我有把这题重新写了一遍。
lwfcgz
·
2013-03-21 22:00
士兵杀敌(
RMQ
入门题目)
#include #include #include #include #include #defineMAXN100010 #defineMax(x,y)(x>y?x:y) #defineMin(x,y)(x>y?y:x) usingnamespacestd; intmaxsum[MAXN][18],minsum[MAXN][18];///表示从第i个数起连续2^j个数中的最大值/最小值 v
wangwenhao00
·
2013-03-21 21:00
HDU2888(二维
RMQ
)
题目:CheckCorners 本题碉堡了,内存限制好紧,再大一点都不行,还只能用int,开始用shortWA了好多次。。。。。 题意:给一个矩阵,然后给Q个询问,每个询问有四个数,分别代表询问的子矩阵的左上角和右下角,然后找出子矩阵的最大值输出,然后再把这个值与子矩阵的四个角的值比较,如果有至少一个等于这个最大值就输出“yes”,否则输出“no”。#include #include #inc
ACdreamers
·
2013-03-20 19:00
【
RMQ
】poj 3264 Balanced Lineup
首先是预处理,用一个DP解决。设a是要求区间最值的数列,f[i,j]表示从第i个数起连续2^j个数中的最大值。例如数列3245681297,f[1,0]表示第1个数起,长度为2^0=1的最大值,其实就是3这个数。f[1,2]=5,f[1,3]=8,f[2,0]=2,f[2,1]=4……从这里可以看出f[i,0]其实就等于a[i]。这样,DP的状态、初值都已经有了,剩下的就是状态转移方程。我们把f[
lwfcgz
·
2013-03-19 21:00
POJ2019(二维
RMQ
问题 ST)
题目:Cornfields 只是注意本题数据定义小一点,不然会超内存。#include #include #include usingnamespacestd; constintN=255; intn,b,k; shortval[N][N]; shortdpmax[N][N][10][10]; shortdpmin[N][N][10][10]; voidS
ACdreamers
·
2013-03-19 18:00
HDU3183(
RMQ
问题,ST算法)
题目:AMagicLamp题意:对于一个序列A[1...N],一共N个数,除去M个数使剩下的数组成的整数最小。也就是说在A[1...N]中顺次选取N-M个数,使值最小。本题很有技巧性,一开始我总是想不明白,后来在纸上画了一下,大概明白了是怎么回事。它主要是基于以下事实:对于序列A[1...N],选取N-M个数,使组成的值最小,而且顺序不能交换,既然要选取N-M个,那么可以容易知道这N-M位数的第一
ACdreamers
·
2013-03-19 16:27
数据结构
HDU3183(
RMQ
问题,ST算法)
题目:AMagicLamp 题意:对于一个序列A[1...N],一共N个数,除去M个数使剩下的数组成的整数最小。也就是说在A[1...N]中顺次选取N-M个数,使值最小。本题很有技巧性,一开始我总是想不明白,后来在纸上画了一下,大概明白了是怎么回事。它主要是基于以下事实:对于序列A[1...N],选取N-M个数,使组成的值最小,而且顺序不能交换,既然要选取N-M个,那么可以容易知道这N-M位数的第
ACdreamers
·
2013-03-19 16:00
ST算法解决
RMQ
问题
主要用来求
RMQ
问题,时间复杂度为O(NlgN+M) 关于
RMQ
问题描述:输入N个数和M次询问,每次询问一个区间[L,R],求第L个数到R个数之间的最大值,或者是求最小值。
ACdreamers
·
2013-03-19 15:00
POJ-3368-Frequent values
因为今天刚好看到
RMQ
,就做了一下,结果折腾了一晚上。关于
RMQ
其实相当于是模板,关键是建立模型以及后面有几种特殊的情况需要特殊处理,我因为在最后一种情况写错了,WA了很久。
z309241990
·
2013-03-18 21:00
RMQ
RMQ
问题
dylantsou出处:http://blog.csdn.net/dylantsou引言: 在本人的上一篇关于后缀数组的博客中,在例2求最长回文子串中提到过:要求其一个数组中任意区间的最大最小值,是一个
RMQ
z309241990
·
2013-03-18 19:00
RMQ
Codeforces 52C Circular
RMQ
不想说什么了,这两天脑袋被门夹了……#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include
speedcell4
·
2013-03-06 00:00
POJ 2019 Cornfields
二维
RMQ
,简单四分就好了,跟一维没本质上的区别……今天写二维线段树写残了……代码能力是硬伤啊……#include #include #include #include #include
speedcell4
·
2013-03-03 20:00
RMQ
问题(区间求最值)
RMQ
的树状数组实现:#include #defineN100005 intidx[N]; intnum[N]; intn,m,l,r,i,j; intmin(inta,intb)
ACdreamers
·
2013-02-23 17:00
线段树求区间最大值
RMQ
(单点更新)
题目:HDU1754#include#definemaxn222222#definelsonl,m,rtb?a:b;}voidPushUP(intrt){MAX[rt]=max(MAX[rt>1;Build(lson);Build(rson);PushUP(rt);}voidUpdate(intp,intadd,intl,intr,intrt){if(l==r){MAX[rt]=add;retur
ACdreamers
·
2013-02-09 00:48
数据结构
线段树求区间最大值
RMQ
(单点更新)
题目:HDU1754#include #definemaxn222222 #definelsonl,m,rtb?a:b; } voidPushUP(intrt) { MAX[rt]=max(MAX[rt>1; Build(lson); Build(rson); PushUP(rt); } voidUpdate(intp,intadd,intl,intr,intrt
ACdreamers
·
2013-02-09 00:00
UVa 11235
RMQ
好题
题目链接题意:给你一个不下降序列(n #include #include #include usingnamespacestd; #definemaxn100005 inta[maxn],v[maxn],c[maxn],p[maxn],l[maxn],r[maxn]; intnum,n;//num表示有几段。 intLOG[maxn],f[33][maxn];//LOG[n]=log2(n)向下取
c3568
·
2013-02-02 23:00
SPOJ COT 树上第K大(LCA+主席树)
http://www.spoj.com/problems/COT/为了做这题,先去学了一下DFS+
RMQ
的LCA求法。这题和普通的第K大类似。普通的第K大,是从后往前建立主席树,前一个在后一个的
acm_cxlove
·
2013-02-01 20:07
ACM_数据结构
SPOJ COT 树上第K大(LCA+主席树)
http://www.spoj.com/problems/COT/ 为了做这题,先去学了一下DFS+
RMQ
的LCA求法。这题和普通的第K大类似。普通的第K大,是从后往前建立主席树,前一个在
ACM_cxlove
·
2013-02-01 20:00
POJ 1986 Distance Queries(在线LCA)
在线的LCA就是,先搞出一个欧拉序列然后
RMQ
中间部分,其实就是a到lca(a,b)到b的一棵子树找到最小深度即可。
ACM_cxlove
·
2013-02-01 18:00
hdu 3486
RMQ
+二分 简单应用
题目大意: 给定n个数的序列,让我们找前面k个区间的最大值之和,每个区间长度为n/k,如果有剩余的区间长度不足n/k则无视之。现在让我们找最小的k使得和严格大于m。n #include #include #include #include #include usingnamespacestd; #defineM222222 #defineMAXN500 #defineMAXM500 intdp[M
azheng51714
·
2013-01-30 14:00
hdu 3183
RMQ
应用
题目大意是,给你一个1000位的数,要你删掉m个为,求结果最小数。思路:在n个位里面删除m个位,也就是找出n-m个位组成最小数 所以在区间[0,m]里面找最小的数,对应的下标标号i接着找区间[i+1,m++]里面的最小数,对于下标为ii接着找区间[ii+1,m++]里面的最小数……这样就会找n-m个数了。区间这样安排的目的是为了保证取出来的数的顺序。#include #include #inclu
azheng51714
·
2013-01-30 12:00
poj 3368
RMQ
模版应用
defineMAXN500 #defineMAXM500 intdp[M][30]; intdp2[MAXN][MAXM][10][10]; intl[M],r[M],a[M]; /* *一维RMQST算法 *构造
RMQ
azheng51714
·
2013-01-30 10:00
LCA &&
RMQ
讲解详见:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAncestor题目……
yang_7_46
·
2013-01-26 23:00
POJ 1785 Binary Search Heap Construction 【笛卡尔树构造,线段树
RMQ
(Range Max/Min Query)】
题目注意:两个要求,1.第一关键字满足搜索序,2.第二关键字满足堆的性质。1.这道题目的标准(简单)解法:笛卡尔树 首先将第一关键字(搜索序的关键字)排序(笛卡尔树中序遍历结果是按照第一关键字升序的),然后逐个向树中插入元素,这时只需要考虑后插入的元素的优先级即可。a、优先级比上一个节点优先级高:将这个节点调整为根节点。b、优先级比上一个节点优先级低:将这个节点设为当前节点的右儿子。2.但是还有:
yang_7_46
·
2013-01-24 20:00
UVa - 11235 - Frequent values(
RMQ
)
option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2176——>>
RMQ
,
RMQ
...游程
SCNU_Jiechao
·
2013-01-06 16:00
RabbitMQ学习之:(一)初识、概念及心得
因为网上有一篇很好的
RMQ
的入门帖子http://lostechies.com/derekgreer/tag/rabbitmq/,所以我就不多说了,就说说我目前看了该作者1~5章后,自己的心得。
PunCha
·
2012-12-28 23:34
Web
Programming
RabbitMQ
lklk
__kernel __attribute__((reqd_work_group_size(NUM_WGS_RMQMIN,1,1))) void
rmq
_levelMin
C++ Coder
·
2012-12-19 20:00
算法之LCA与
RMQ
问题
http://dongxicheng.org/structure/lca-
rmq
/1、 概述LCA(LeastCommonAncestors),即最近公共祖先,是指这样一个问题:在有根树中,找出某两个结点
miao6664659
·
2012-12-19 16:00
RMQ
算法
RMQ
算法http://blog.csdn.net/liang5630/article/details/79177021.概述
RMQ
(RangeMinimum/MaximumQuery),即区间最值查询
C++ Coder
·
2012-12-17 10:00
RMQ
=mx[j][i-1]; if(j+(1>n>>q; for(inti=1;i>w[i]; rmqinit(); intl,r; for(inti=1;i>l>>r; printf("%d%d\n",
rmq
SprintfWater
·
2012-12-14 22:00
经典算法题每日演练——第十二题 线段树
这一篇我们来看树状数组的加强版线段树,树状数组能玩的线段树一样可以玩,而且能玩的更好,他们在区间求和,最大,平均等经典的
RMQ
问题上有着对数时间的优越表现。
weixin_33971977
·
2012-12-08 00:00
数据结构与算法
浅谈Linux下mv和cp命令的区别
/bin/bash src=/tmp/test/test.txt#directorytomonitor /usr/local/bin/inotifywait-
rmq
-emodify$src|whilereadevent
firefoxbug
·
2012-12-06 22:00
探讨
RMQ
问题之二:线段树
上一篇关于解决
RMQ
问题中文章探讨了一下ST(SparseTable)算法,其O(NlgN)的预处理时间复杂度和空间复杂度,以及O(1)的查询时间复杂度使得这个算法已经足够优秀。
WangDylan
·
2012-11-27 14:00
探讨
RMQ
问题之一:ST算法
RMQ
问题:求给定区间极值问题,下面以最大值为例 ST(SparseTable)算法基本也是核心的思想是基于区间划分的动态规划,即M[i,j]=max{M[i,r-1],M[r,j]}。
WangDylan
·
2012-11-23 13:00
sicily 1800 Sequence【线段树-
RMQ
】
题目链接:http://soj.me/1800题目大意:给出一个序列a1,a2,a3,……an,求它的一个子序列使的这个子序列的和最小,并且这个子序列的长度只能在L和U之间。对于这类子序列求和问题问法真是太多了,如果子序列长度没有上下界的话可以用动态规划来做,不过有上下界的时候,貌似没有想到动态规划的算法。本题的思路大致如下:首先求的整个序列的前缀和数组preSum[],那么S[i,j]就可以表示
lifajun90
·
2012-11-17 19:00
CF 6E Exposition(
RMQ
| 线段树,二分)
链接:http://codeforces.com/problemset/problem/6/E题目大意:给n个数,然后找出最长的一段子序列(不需要连续),使得这段子序列中的最大值与最小值之差不超过k。找出有几个子序列满足,并且输出他们的开始位置与结束位置。分析与总结:枚举所有子序列的起点位置,然后再二分终点位置,使得起点与终点的距离最大,并且这个区间内的最大值与最小值只差满足不超过k。为什么可以二
shuangde800
·
2012-11-16 14:00
CF 6E Exposition(
RMQ
| 线段树,二分)
链接: http://codeforces.com/problemset/problem/6/E 题目大意: 给n个数,然后找出最长的一段子序列(不需要连续),使得这段子序列中的最大值与最小值之差不超过k。找出有几个子序列满足,并且输出他们的开始位置与结束位置。 分析与总结: 枚举所有子序列的起点位置,然后再二分终点位置,使得起点与终点的距离最大,并且这个区间内的最大值与最小值只
king_tt
·
2012-11-16 14:00
position
ACM算法列表
伸展树并查集集合计数问题二分图的识别平衡二叉树二叉排序树线段树一维线段树二维线段树树状数组一维树状数组N维树状数组字典树后缀数组,后缀树块状链表哈夫曼树桶,跳跃表Trie树(静态建树、动态建树)AC自动机LCA和
RMQ
Tsaid
·
2012-11-07 19:00
CF Codeforces 52C 简单的线段树 成段更新
它有两种操作:inc(lf,rg,v)这个操作使[lf,rg]区间内的每一个值增加v;
rmq
(lf,rg)这个操作返回[lf,rg]区间内的最小值。
azheng51714
·
2012-11-04 16:00
POJ3368 离散化+ST算法求解
RMQ
给定一个数组,其中的元素满足非递减顺序,要求对于一对起点和终点,回答出其中某个元素重复出现的最大次数。比如对于-1-111113101010,若起点为1,终点为5,则重复出现最大的数是1,其次数为3。由于原数组是非递减的,因此相同的数字必然是连续出现的。可以对原数组进行压缩,把相同数字构成的区间抽象为一个数,这个数就是这个区间的大小。比如上述数组可以压缩为2413。对于原数组中的每个位置,记录它属
alongela
·
2012-11-03 19:00
Sparse Table算法
SparseTable算法,简称ST算法,可以用来求解
RMQ
(区间最值查询)问题。
RMQ
问题的形式一般是:存在一个大数组,要求对于给定的起点和终点,迅速回答出这段区间的最大值或最小值。
alongela
·
2012-11-03 10:00
零零散散学算法之详解
RMQ
& LCA
2第一节
RMQ
、LCA概述 LCA:Lowest Common Ancestor,译为最近公共祖先。
pi9nc
·
2012-11-02 21:00
poj 3264 Balanced Lineup St算法建立
Rmq
poj3264BalancedLineupSt算法建立
Rmq
ST算法可以说就是个二维的动态规划,黑书上有解释。
yx
·
2012-10-25 19:00
零零散散学算法之详解
RMQ
& LCA
深入理解
RMQ
&LCA 正文 第一节
RMQ
、LCA概述 LCA:Lowest Common Ancestor,译为最近公共祖先。
SuperFengstark
·
2012-10-23 23:00
&
LCA
RMQ
零零散散学算法之详解
RMQ
& LCA
深入理解
RMQ
&LCA 正文 第一节
RMQ
、LCA概述 LCA:Lowest Common Ancestor,译为最近公共祖先。
fengchaokobe
·
2012-10-23 23:00
rmq
算法学习
原文的代码没有看,比较容易理解的思想,很容易实现,算是dp的妙用了,自己实现的是动态版的,更加节省空间,空间是sum(fromnto1)logn=log(n!)=log(sqrt(2*pi*n)*n^n*e^(-n))=n*logn-n*loge+log(2*pi*n)/2 忽略常数后,f(n)=nlogn-n+logn=(n+1)logn-n =nlogn-n=n(logn-1)=nlogn所以
tianguokaka
·
2012-10-23 23:00
上一页
30
31
32
33
34
35
36
37
下一页
按字母分类:
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
其他