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

RMQ問題ST算法 POJ 3264

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

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

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

len必須使得兩段區(qū)間覆蓋待求區(qū)間

設(shè)所求數(shù)組為w

那么,所求最小值就是兩個區(qū)間的最小值間的最小值

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

若都在預(yù)先處理中先求得兩個區(qū)間的最小值

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

---

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

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

則求解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可以由此得出,以保證兩段區(qū)間可以覆蓋待求區(qū)間:

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,預(yù)處理時間復(fù)雜度為O(nlogn),查詢時間復(fù)雜度為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 閱讀(2582) 評論(2)  編輯 收藏 引用

評論

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

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

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


是不是有點問題呢?


  回復(fù)  更多評論   

# 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  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導(dǎo)航

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統(tǒng)計

常用鏈接

留言簿(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久久久亚洲精品| 夜夜嗨av一区二区三区| 欧美色图首页| 午夜精品久久久久久99热软件| 亚洲视频在线观看三级| 国产精品亚洲不卡a| 久久精品视频在线看| 久久夜色撩人精品| 国产精品99久久久久久www| 一本色道久久88综合日韩精品 | 亚洲女人av| 欧美激情一区二区三区在线| 久久在线免费| 亚洲久久成人| 亚洲在线视频免费观看| 国内外成人在线视频| 亚洲高清不卡在线| 欧美日韩中文| 麻豆成人综合网| 欧美激情精品久久久六区热门| 亚洲综合欧美| 久久夜色精品国产欧美乱极品| 18成人免费观看视频| 亚洲每日更新| 国产综合久久久久久鬼色| 亚洲国产一区二区三区a毛片| 国产精品乱码一区二三区小蝌蚪| 久久久精品日韩欧美| 欧美日韩一区二区免费视频| 久久青青草综合| 欧美亚韩一区| 亚洲大片免费看| 国产亚洲一区二区三区在线观看| 亚洲欧洲一区二区三区| 国产自产在线视频一区| 一区二区三区成人| 亚洲美女黄色片| 欧美综合国产精品久久丁香| 亚洲宅男天堂在线观看无病毒| 久久一区视频| 久久人人爽人人爽| 国产欧美亚洲视频| 一区二区三区视频在线| 亚洲精选一区二区| 免费一区视频| 欧美xxxx在线观看| 韩日欧美一区二区| 亚洲欧美在线一区| 午夜在线视频观看日韩17c| 欧美精品免费观看二区| 欧美成人免费大片| 国内精品嫩模av私拍在线观看 | 亚洲国产精品女人久久久| 午夜欧美大尺度福利影院在线看| 亚洲无毛电影| 欧美日韩一级黄| 最近中文字幕mv在线一区二区三区四区 | 91久久久亚洲精品| 亚洲肉体裸体xxxx137| 久久久综合视频| 久久青青草综合| 一区二区三区亚洲| 久久精品噜噜噜成人av农村| 久久久久久久999精品视频| 国产手机视频一区二区| 午夜伦理片一区| 久久久久国产一区二区| 国产一区二区三区不卡在线观看 | 日韩视频三区| 亚洲一区二区三区在线看| 欧美日韩国产123| 亚洲欧洲久久| 亚洲资源在线观看| 国产亚洲aⅴaaaaaa毛片| 欧美在线视频全部完| 久久久久久穴| 亚洲国产精品激情在线观看| 母乳一区在线观看| 亚洲美女诱惑| 欧美一区二区日韩一区二区| 国精品一区二区| 美脚丝袜一区二区三区在线观看 | 亚洲高清在线视频| 夜夜躁日日躁狠狠久久88av| 欧美无乱码久久久免费午夜一区| 亚洲香蕉成视频在线观看| 久久黄色级2电影| 在线成人激情视频| 欧美日韩国产小视频| 亚洲综合三区| 亚洲国产经典视频| 亚洲欧美一区二区三区久久| 狠狠干狠狠久久| 欧美精品18videos性欧美| 亚洲一级免费视频| 欧美高清不卡在线| 亚洲欧美色婷婷| 亚洲电影在线| 国产麻豆午夜三级精品| 老巨人导航500精品| 亚洲图中文字幕| 男人天堂欧美日韩| 午夜一区二区三区在线观看| 亚洲国产精品毛片| 国产精品综合不卡av| 欧美大片在线观看一区二区| 亚洲欧美国产一区二区三区| 欧美黄免费看| 久久视频国产精品免费视频在线| 99视频在线精品国自产拍免费观看| 国产精品手机视频| 欧美日本中文字幕| 久久婷婷丁香| 欧美一区二区三区四区夜夜大片 | 亚洲欧美美女| 亚洲六月丁香色婷婷综合久久| 国产欧美一区二区三区久久 | 亚洲欧美影院| 99国产精品99久久久久久粉嫩| 美乳少妇欧美精品| 欧美一进一出视频| 亚洲性夜色噜噜噜7777| 亚洲激情影院| 在线观看欧美亚洲| 国产主播在线一区| 国产精品美女在线| 欧美日韩一区二区三区在线看 | 欧美极品一区| 暖暖成人免费视频| 麻豆精品一区二区综合av| 欧美一区观看| 欧美一区二区三区婷婷月色 | 久久久久国产精品午夜一区| 亚洲性感美女99在线| 亚洲美女av在线播放| 亚洲人永久免费| 亚洲国产专区| 亚洲国产精品va在线看黑人| 欧美成在线视频| 亚洲丶国产丶欧美一区二区三区| 蜜臀久久99精品久久久画质超高清| 久久久久久久97| 久久一区二区视频| 欧美成年人视频| 欧美激情精品久久久久久久变态| 欧美 日韩 国产精品免费观看| 久久亚洲精品一区| 欧美顶级大胆免费视频| 亚洲日本中文字幕区| 欧美日韩在线观看一区二区| 欧美精品久久99久久在免费线| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久综合999| 欧美高清在线视频观看不卡| 欧美日韩八区| 国产精品免费小视频| 国产日韩欧美麻豆| 在线精品国产欧美| 亚洲精品专区| 欧美一级欧美一级在线播放| 久久欧美中文字幕| 亚洲电影中文字幕| 一级成人国产| 久久高清国产| 欧美黄色片免费观看| 国产精品久久久久久久第一福利| 国产欧美日韩在线视频| 亚洲国产美女精品久久久久∴| 夜夜嗨网站十八久久| 欧美一区二区三区电影在线观看| 久热国产精品| 夜夜嗨av一区二区三区免费区| 午夜精品久久久| 免费亚洲一区| 国产日韩欧美不卡| 亚洲免费久久| 久久久精品国产一区二区三区| 欧美激情一区| 亚洲欧美国产一区二区三区| 久热精品视频在线观看一区| 欧美性猛交xxxx乱大交退制版| 激情文学一区| 亚洲在线观看视频| 欧美激情一二三区| 午夜精品免费视频| 欧美另类69精品久久久久9999| 国产一二三精品| 在线亚洲精品福利网址导航| 麻豆亚洲精品| 午夜精彩国产免费不卡不顿大片| 欧美大片免费观看| 韩国成人福利片在线播放| 亚洲视频你懂的| 亚洲国产天堂久久综合网| 欧美在线资源| 国产美女一区二区| 亚洲一区二区免费视频| 亚洲黑丝一区二区| 久久日韩粉嫩一区二区三区|