Description
You are given circular array a0,?a1,?...,?an?-?1.
There are two types of operations with it:
inc(lf,?rg,?v) — this operation increases each element on the segment
[lf,?rg] (inclu...
分类:
其他好文 时间:
2014-08-15 00:01:56
阅读次数:
327
RMQ(区间最大值,最小值)问题的解决,ST表的应用。...
分类:
其他好文 时间:
2014-08-14 01:38:27
阅读次数:
198
最近公共祖先(Least Common Ancestor)的两种解决方式,在线RMQ算法和离线Tarjan算法,并且整理成为模板。...
分类:
其他好文 时间:
2014-08-14 01:33:07
阅读次数:
374
思路:这题下午搞了然后一直WA,后面就看了Discuss,里面有个数组:ABCDEFDCBA,这个我输出ABCD,所以错了。
然后才知道自己写的后缀数组对这个回文子串有bug,然后就不知道怎么改了。
然后看题解,里面都是用RMQ先预处理任意两个后缀的最长公共前缀,因为不太知道这个,所以又看了一下午,嘛嘛……
然后理解RMQ和后缀一起用的时候才发现其实这里不用RMQ也可以,只要特殊处理一下上面...
分类:
其他好文 时间:
2014-08-13 22:23:47
阅读次数:
261
Balanced LineupTime Limit: 5000 MS Memory Limit: 0 KB64-bit integer IO format: %I64d , %I64u Java class name: Main[Submit] [Status] [Discuss]Descripti...
分类:
其他好文 时间:
2014-08-12 12:49:35
阅读次数:
270
这题求范围最小值,RMQ正好是用来解决这方面的,所以再适合不过了,又是离线静态输入输出的,所以时间比二维线段树快。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define mem(a,b) memset(a,b,sizeof(a))
#define lson i<<1,l,m...
分类:
其他好文 时间:
2014-08-09 15:59:48
阅读次数:
320
基本概念LCA:树上的最近公共祖先,对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。RMQ:区间最小值查询问题。对于长度为n的数列A,回答若干询问RMQ(A,i,j),返回数列A中下标在[i,j]里的最小值下标。朴素LCA算法求出...
分类:
其他好文 时间:
2014-08-08 17:36:16
阅读次数:
226
RMQ(Range Minimum/Maximum Query)问题是求区间最值问题。对于长度为 n 的数组 A,进行若干次查询,对于区间 [L,R] 返回数组A中下标在 [L,R] 中的最小(大)值。可以用线段树来解决这个问题,预处理的复杂度是 O(nlogn),查询的复杂度是 O(logn)。更...
分类:
其他好文 时间:
2014-08-08 17:34:26
阅读次数:
200
/*
RMQ问题
-----------------------------------------------------------------------------------------------
用数组:
cnt[i]:第i段中数的个数(每一段是指所有数都同的一段数)(在这里该数组相当于RMQ问题中的A[]数组)
num[i]:位置i所在段的编号
left1[i]:位置i左端点的位置...
分类:
其他好文 时间:
2014-08-07 00:48:27
阅读次数:
191
RMQ算法,是一个快速求区间最值的离线算法,预处理时间复杂度O(n*log(n)),查询O(1),所以是一个很快速的算法,当然这个问题用线段树同样能够解决。
问题:给出n个数ai,让你快速查询某个区间的的最值。
算法分类:DP+位运算
算法分析:这个算法就是基于DP和位运算符,我们用dp【i】【j】表示从第 i 位开始,到第 i + 2^j 位的最大值或者最小值。
...
分类:
其他好文 时间:
2014-08-06 18:58:52
阅读次数:
222