• <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>

            樹狀數(shù)組解決離線RMQ問題

            Posted on 2011-03-19 21:59 Mato_No1 閱讀(1338) 評論(1)  編輯 收藏 引用 所屬分類: 樹狀數(shù)組

            樹狀數(shù)組與線段樹不同,它只能直接支持前綴區(qū)間([1..r])或后綴區(qū)間([l..N])上的操作,而對于一般區(qū)間([l..r])上的操作則需要通過兩步操作間接完成:先對[1..r]進行操作再對[1..l-1]進行反操作(如加c的反操作就是減c),對于加法操作這樣可反的操作是可以,而對于求最值這樣的不可反的操作(無法通過[1..r]的最值與[1..l-1]的最值得出[l..r]的最值),就沒有辦法了。其實,用樹狀數(shù)組是可以解決離線RMQ問題的,但時間復(fù)雜度不太理想(一次操作的理論時間復(fù)雜度達O((logN)^2))。

            方法是(這里C[i]表示i管轄的數(shù)組結(jié)點中的最值):設(shè)r'為目前的右端點,一開始r'=r。每次找到r'管轄的數(shù)組結(jié)點中最左邊的那個的下標(即r' - (r' & (-r')) + 1),設(shè)為x。若x>=l,則將C[r']與目前的最值比較、更新,再將r'設(shè)為(x-1);若x<l,則調(diào)出A[r']的值與目前最值比較、更新,然后將r'減1。如此直至r'<l為止。

            本算法編程復(fù)雜度極低,但由于時間效率較低,難以適應(yīng)較大范圍數(shù)據(jù)(N, M>100000基本上就TLE了)

            Feedback

            # re: 樹狀數(shù)組解決離線RMQ問題  回復(fù)  更多評論   

            2011-06-25 03:00 by AHdoc
            用樹狀數(shù)組是可以解決離線RMQ問題的
            但時間復(fù)雜度一次操作的理論時間復(fù)雜度不是O((logN)^2))

            有NlogN的。

            這個實際上是有辦法的,而且可能不是c++的人還不太容易實現(xiàn)。
            原本樹狀數(shù)組每一個結(jié)點是一個數(shù)字int,你可以用一個vector來存。
            比如16位置你就存一個vector<int>來記錄16往前1 2 4 8 16的最值。
            然后你再求區(qū)間最值的時候,就可以O(shè)(logN)找到所有的區(qū)間,然后再logN次求解,用位運算寫很方便的,總的時間復(fù)雜度logN。

            找區(qū)間的部分大致是這樣的,區(qū)間[s,t]。
            從s開始不斷+(i & (-i))。直到下一次增加超過t,記為s'。
            從t開始不斷-(i & (-i))。直到恰好和剛才s'重合,可以證明一定會和s'恰好重合。
            這樣就是logN個區(qū)間了,每一個區(qū)間的操作又是O(1)的。
            久久免费国产精品一区二区| 一本一本久久A久久综合精品| 思思久久99热只有频精品66| 国产精品99久久久久久人| 嫩草伊人久久精品少妇AV| 中文字幕精品无码久久久久久3D日动漫 | 国产成人精品综合久久久| 久久久久亚洲AV成人网人人网站 | 久久精品免费观看| 久久久久久夜精品精品免费啦| 97精品伊人久久久大香线蕉| 国产精品久久新婚兰兰| 精品久久久中文字幕人妻| 久久精品国产亚洲av麻豆图片| 久久丫忘忧草产品| 久久精品国产亚洲AV久| 亚洲精品美女久久久久99| 中文字幕无码免费久久| 久久综合88熟人妻| 久久综合久久久| 麻豆久久| 亚洲国产精品无码久久久秋霞2 | 久久SE精品一区二区| 久久午夜无码鲁丝片秋霞| 青青草原精品99久久精品66| 99热成人精品热久久669| 国产成人精品久久一区二区三区av| 国产精品美女久久久久av爽| 久久一本综合| 亚洲av成人无码久久精品| 日韩欧美亚洲综合久久影院d3| 日本久久中文字幕| 人妻精品久久无码区| 国产精自产拍久久久久久蜜| 精品国产乱码久久久久软件| 久久综合88熟人妻| 日本高清无卡码一区二区久久 | 亚洲欧美成人综合久久久| 久久精品草草草| 国产精品99久久久久久宅男小说| 久久久久久毛片免费播放|