青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

RMQ問題ST算法 POJ 3264

ST算法O(nlogn)預處理,O(1)的查詢指定區間的最值(以最小值為例)

基本上是把待求區間[l,r]分為兩段長為len的區間

左邊一段為[l,l+len-1],右邊一段為[r-len+1,r]

len必須使得兩段區間覆蓋待求區間

設所求數組為w

那么,所求最小值就是兩個區間的最小值間的最小值

即min(min{w[i],l<=i<=l+len-1},min{w[j],r-len+1<=j<=r})

若都在預先處理中先求得兩個區間的最小值

則每次查詢的復雜度都是O(1)

---

對len做一個限制:只能為2的冪

在預處理中求出所有mi[b][t] : 以b為起點,長為2^t的區間的最小值.

則求解min(min{w[i],l<=i<=l+len-1},min{w[j],r-len+1<=j<=r})

就變成min(mi[l][t],mi[r-2^t+1][r]),其中t可以由此得出,以保證兩段區間可以覆蓋待求區間:

t=ln(r-l+1)/ln(2)

---

可以看到mi[b][t]=min(mi[b][t-1],mi[b+2^(t-1)-1][t-1])

特別地對于所有mi[i][0],其值都是w[i];

由此自底向上推出所有的mi[b][t]

mi大小為n*logn,預處理時間復雜度為O(nlogn),查詢時間復雜度為O(1)


#include <iostream>
?#include <math.h>
?#define max(a,b) ((a>b)?a:b)
?#define min(a,b) (a<b?a:b)
?
using namespace std;
?
const int maxn=50001;
?int h[maxn];
?int mx[maxn][16],mn[maxn][16];
int n,q;
?
?void rmq_init()
?{
???? int i,j;
???? for(j=1;j<=n;j++) mx[j][0]=mn[j][0]=h[j];
???? int m=floor(log((double)n)/log(2.0));
???? for(i=1;i<=m;i++){
???????? for(j=n;j>0;j--){
???????????? mx[j][i]=mx[j][i-1];
???????????? if(j+(1<<(i-1))<=n) mx[j][i]=max(mx[j][i],mx[j+(1<<(i-1))][i-1]);
???????? }
??? }
??? for(i=1;i<=m;i++){
???????? for(j=n;j>0;j--){
??????????? mn[j][i]=mn[j][i-1];
???????????? if(j+(1<<(i-1))<=n) mn[j][i]=min(mn[j][i],mn[j+(1<<(i-1))][i-1]);
???????? }
???? }
?}
?
?int rmq(int l,int r)
?{
???? int m=floor(log((double)(r-l+1))/log(2.0));
??? int a=max(mx[l][m],mx[r-(1<<m)+1][m]);
???? int b=min(mn[l][m],mn[r-(1<<m)+1][m]);
??? return a-b;??
?}
?
?int main()
?{
???? int i,l,r;
???? scanf("%d%d",&n,&q);
???? for(i=1;i<=n;i++) scanf("%d",&h[i]);
???? rmq_init();
???? for(i=0;i<q;i++){
???????? scanf("%d%d",&l,&r);
???????? printf("%d\n",rmq(l,r));
???? }

?}

posted on 2008-05-19 20:52 Victordu 閱讀(2574) 評論(2)  編輯 收藏 引用

評論

# re: RMQ問題ST算法 POJ 3264 2008-09-18 19:52 劉劉牛

"就變成min(mi[l][t],mi[r-2^t+1][r]),其中t可以由此得出,以保證兩段區間可以覆蓋待求區間:

t=ln(r-l+1)/ln(2) "


是不是有點問題呢?


  回復  更多評論   

# re: RMQ問題ST算法 POJ 3264 2009-04-11 14:22 Wei Quan Min

Great.....

Can u write sth about suffix array + lcp in the next thread....

I am not really clear about suffix array. Clear about the O(n^2 log n)..
but I'm curious about O(n log n) which is solved by using lcp..

Thx  回復  更多評論   

導航

<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

統計

常用鏈接

留言簿(5)

隨筆檔案(46)

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            韩国亚洲精品| 亚洲黄色成人| 美玉足脚交一区二区三区图片| 欧美日韩精品在线播放| 欧美国产日本在线| 亚洲欧美精品在线观看| 欧美日韩一区视频| 亚洲日本一区二区| 亚洲国产成人av在线| 欧美www在线| 欧美凹凸一区二区三区视频| 亚洲大胆人体视频| 欧美激情精品久久久久久大尺度 | 欧美日韩在线视频观看| 亚洲免费电影在线观看| 99视频一区二区三区| 欧美四级在线| 亚洲欧美影音先锋| 另类激情亚洲| 一区二区高清在线观看| 国产精品私人影院| 久久久夜夜夜| 亚洲精品国产日韩| 久久成人免费| 亚洲人成高清| 亚洲国产欧美一区二区三区久久 | 国产精品美女久久久| 久久大逼视频| 日韩亚洲成人av在线| 欧美一级大片在线免费观看| 极品尤物久久久av免费看| 欧美精品国产| 久久国内精品自在自线400部| 欧美freesex交免费视频| 亚洲香蕉视频| 在线日本高清免费不卡| 国产精品乱码妇女bbbb| 久久综合九色| 亚洲一二三四区| 最新中文字幕一区二区三区| 欧美亚洲三级| 一区二区三区视频在线播放| 国内精品久久久久久影视8| 欧美日韩国产精品 | 日韩一级不卡| 亚洲第一福利视频| 久久精品道一区二区三区| 亚洲精品免费网站| 精品成人一区| 国产有码在线一区二区视频| 欧美日韩免费一区二区三区| 免费观看成人网| 性久久久久久久| 亚洲自拍偷拍麻豆| 免费观看久久久4p| 亚洲国产天堂久久国产91| 国产一区二区丝袜高跟鞋图片| 欧美激情在线播放| 美日韩精品免费观看视频| 在线一区二区三区四区| 一区二区三区欧美在线| 久久久久久久综合| 亚洲午夜激情网站| 亚洲成人资源网| 在线观看日韩www视频免费| 国产一区91精品张津瑜| 国产精品系列在线播放| 国产精品自拍网站| 国产精品美女久久| 国产麻豆精品久久一二三| 国产精品视频999| 国产精品综合网站| 国产欧美精品| 国产精品视频一| 国产欧美日韩一区二区三区在线| 国产精品成人va在线观看| 国产精品国产自产拍高清av王其 | 男女av一区三区二区色多| 久久久久久久久久看片| 一区二区三区四区国产| 99精品热视频只有精品10| 麻豆成人在线| 欧美成人激情视频| 欧美激情一区二区在线| 欧美激情日韩| 国产精品亚发布| 国产亚洲欧美日韩一区二区| 极品中文字幕一区| 日韩视频在线观看一区二区| 亚洲视频日本| 久久狠狠一本精品综合网| 久久久综合香蕉尹人综合网| 亚洲欧美日韩第一区| 中文精品视频一区二区在线观看| 亚洲男女毛片无遮挡| 久久久高清一区二区三区| 麻豆精品在线视频| 日韩视频第一页| 久久综合激情| 亚洲精品国产精品国自产在线| 亚洲一区二区欧美| 久久se精品一区精品二区| 欧美xx视频| 亚洲色图自拍| 久久精品视频在线播放| 久久久久久9| 亚洲国产精品久久久久秋霞影院| 99精品久久久| 久久夜色精品国产噜噜av| 亚洲一区二区三区在线视频| 久久久www成人免费精品| 欧美日韩国产片| 国内精品久久久久影院色| 亚洲视频欧美视频| 免费成人黄色| 小黄鸭精品密入口导航| 欧美激情视频在线播放 | 亚洲欧美一区二区视频| 免费亚洲网站| 狠狠色综合网站久久久久久久| 99re66热这里只有精品4| 久久久久久久一区二区| 亚洲视频你懂的| 麻豆精品91| 黄色在线一区| 久久不射网站| 一区二区三区四区国产精品| 麻豆精品视频在线| 影音先锋久久| 蜜桃av综合| 老牛国产精品一区的观看方式| 国产午夜久久| 久久久九九九九| 久久国产99| 国产一区二区三区免费在线观看| 欧美在线精品一区| 国产精品99久久99久久久二8| 亚洲国产毛片完整版| 欧美激情aⅴ一区二区三区| 亚洲三级色网| 日韩一级网站| 国产精品久久久久久久9999| 亚洲欧洲99久久| 亚洲永久免费| 海角社区69精品视频| 美女日韩在线中文字幕| 狼人天天伊人久久| 一区二区三区色| 亚洲欧美在线免费观看| 国产综合色精品一区二区三区| 麻豆国产精品777777在线| 久久影视三级福利片| 精品成人国产| 欧美激情网友自拍| 欧美电影电视剧在线观看| 久久久久久九九九九| 久久久久久久激情视频| 狠狠色噜噜狠狠狠狠色吗综合| 欧美在线不卡视频| 免费看的黄色欧美网站| 欧美激情bt| 一本一本久久a久久精品牛牛影视| 欧美电影在线| 欧美成人蜜桃| 99在线|亚洲一区二区| 91久久夜色精品国产九色| 欧美在线免费播放| 海角社区69精品视频| 免费不卡视频| 欧美理论在线播放| 亚洲小说区图片区| 亚洲欧美日韩国产成人精品影院| 欧美成人第一页| 亚洲欧美中文字幕| 久久av在线| 亚洲国产精品日韩| 亚洲精品国产精品国自产在线| 国产精品色网| 久久久中精品2020中文| 欧美日韩精品在线| 久久国产福利| 麻豆精品视频在线观看| 一本久久青青| 亚洲欧美成人网| 亚洲电影成人| 一区二区三区精品视频| 日韩一级不卡| 国产综合久久久久久| 亚洲福利电影| 欧美日韩免费在线| 欧美一区激情| 另类综合日韩欧美亚洲| 国产精品99久久久久久www| 亚洲欧美日本视频在线观看| 国产日韩亚洲欧美综合| 亚洲电影激情视频网站| 国产精品每日更新| 欧美aⅴ99久久黑人专区| 国产日韩欧美精品在线| 欧美激情精品久久久久久久变态 |