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

雁過無痕

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::

樹狀數組(Fenwick tree,又名binary indexed tree),是一種很實用的數據結構。它通過用節點i,記錄數組下標在[ i –2^k + 1, i]這段區間的所有數的信息(其中,ki的二進制表示中末尾0的個數,設lowbit(i) = 2^k),實現在O(lg n) 時間內對數組數據的查找和更新。

樹狀數組的傳統解釋圖,不能很直觀的看出其所能進行的更新和查詢操作。其最主要的操作函數lowbit(k)與數的二進制表示相關,本質上仍是一種二分。因而可以通過二叉樹,對其進行分析。事實上,從二叉樹圖,我們對它所能進行的操作和不能進行的操作一目了然。

和前面提到的點樹類似,先畫一棵二叉樹,然后對節點中序遍歷(點樹是采用廣度優先),每個節點仍然只記錄左子樹信息,見圖:

 

 

由于采用的是中序遍歷,從節點1到節點k時,剛好有k個葉子被統計。

可以證明:

  葉子k,一定在節點k子樹下。

  以節點k為根的樹,其子樹共有葉子lowbit(k)

節點k的父節點是:k + lowbit(k) k - lowbit(k) 

節點k + lowbit(k) 是節點k的最近父節點,且節點k在它的子樹下。

節點k - lowbit(k) 是節點k的最近父節點,且節點k在它的子樹下。

節點k,統計的葉子范圍為:(k - lowbit(k),  k]

節點k的左孩子是:k - lowbit(k) / 2

 

下面分析樹狀數組兩面主要應用:

1 更新數據x,進行區間查詢。

2 更新區間,查詢某個數。

由于,樹狀數組只統計了左子樹的信息,因而只能查詢更新區間[1, x]。只在在滿足[x,y]的信息可以由[1,x-1][1,y]的信息推導出時,才能進行區間[x,y]的查詢更新。這也是樹狀數組不能用于任意區間求最值的根本原因。

 

先定義兩個集合:

up_right(k) 節點k所有的父節點,且節點k在它們的子樹下。

up_left(k)   節點k所有的父節點,且節點k在它們的子樹下。

 

1  更新數據x,查詢區間[1,y]

顯然,更新葉子x,要找出葉子x在哪些節點的子樹下。因而節點k、所有的up_right(k)

都要更新。

查詢[1, y],實際上就是把該區間拆分成一系列小區間,并找出統計這些區間的節點。可以通過找出y在哪些節點的子樹下,這些節點恰好不重復的統計了區間[1, y-1]。因而要訪問節點y、所有的up_left(y)

 

2 更新區間[1,y],查詢數據x

  這和前面的操作恰好相反。與前面的最大不同之處在于:節點保存的不再是其葉子總個數這些信息,而是該區間的所有葉子都改變了多少。也就是說:每個葉子的信息,分散到了所有對它統計的節點上。因此操作和前面相似:

  更新[1,y]時,更新節點y、所有up_left(y)

  查詢x時,  訪問x、所有up_right(x)

 

前面的樹狀數組,只對左子樹信息進行統計,如果從后往前讀數據初始化樹狀數組,則變成只對右子樹信息進行統計,這時更新和查詢操作,剛好和前面的相反。

 

一般情況下,樹狀數組比點樹省空間,對區間[1, M]只要M+1空間,查詢更新時定位節點比較快,定位父節點和左右孩子相對麻煩點(不過,一般也不用到。從上往下查找,可參考下面代碼中的erease_nth函數(刪除第n小的數))。

 

下面是使用樹狀數組的實現代碼(求逆序數和模擬約瑟夫環問題):


樹狀數組





作者: flyinghearts
出處: http://www.cnblogs.com/flyinghearts/
本文采用知識共享署名-非商業性使用-相同方式共享 2.5 中國大陸許可協議進行許可,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


posted on 2011-04-11 23:54 flyinghearts 閱讀(1944) 評論(0)  編輯 收藏 引用 所屬分類: 算法
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久久久夜精品精品免费| 久久综合网络一区二区| 亚洲欧美精品中文字幕在线| 国产美女精品免费电影| 欧美精品一区二区三区久久久竹菊| 亚洲一区二区在线视频| 欧美激情一区二区在线| 亚洲国产精品久久久久婷婷884| 一区二区三区四区五区精品视频| 亚洲精品视频免费| 99精品热6080yy久久 | 欧美午夜激情在线| 欧美日韩精品一二三区| 久久久久青草大香线综合精品| 亚洲欧洲99久久| 午夜久久美女| 亚洲国产综合在线看不卡| 亚洲一区二区三区乱码aⅴ| 久久综合伊人77777| 国产精品美女主播在线观看纯欲| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲网站在线| 亚洲美女精品久久| 免费看精品久久片| 黄色成人在线免费| 久久婷婷国产麻豆91天堂| 亚洲一区二区三区精品视频| 欧美日本国产精品| 亚洲人成人一区二区三区| 久久人人爽人人爽爽久久| 午夜精品视频在线观看一区二区| 欧美日韩亚洲系列| 一本大道久久a久久综合婷婷| 久久精品视频亚洲| 香蕉久久精品日日躁夜夜躁| 国产精品入口夜色视频大尺度 | 日韩视频免费看| 美女黄色成人网| 久久精品综合| 99国产精品99久久久久久| 亚洲人成绝费网站色www| 欧美成人精品福利| 亚洲小说欧美另类社区| 一区二区三区日韩精品视频| 国产精品视频观看| 国产色婷婷国产综合在线理论片a| 亚洲一区日本| 午夜一区在线| 国产真实乱偷精品视频免| 欧美成人免费观看| 欧美性色视频在线| 久久一区二区三区超碰国产精品| 猫咪成人在线观看| 99视频有精品| 欧美一级大片在线免费观看| 91久久久亚洲精品| 亚洲欧美网站| 亚洲美女在线看| 久久精品一级爱片| 亚洲视频免费看| 欧美成人午夜视频| 老司机一区二区| 国产精品国产三级国产专播精品人 | 你懂的国产精品| 国产精品美女久久久| 亚洲二区在线| 亚洲高清二区| 久久天天综合| 免费欧美高清视频| 国产综合在线看| 欧美在线国产精品| 欧美一区二区精品| 欧美午夜一区二区三区免费大片| 亚洲精品久久久久久下一站 | 国产精品白丝av嫩草影院| 欧美激情五月| 理论片一区二区在线| 久久精品国产99国产精品澳门| 国产精品日韩| 欧美自拍偷拍午夜视频| 久久av一区二区三区| 国产亚洲精品bt天堂精选| 久久久久久午夜| 欧美国产91| 午夜欧美大尺度福利影院在线看| 国产亚洲精品一区二区| 狂野欧美性猛交xxxx巴西| 亚洲人成小说网站色在线| 亚洲无人区一区| 国内精品久久久久久久果冻传媒| 久久一区激情| 亚洲综合社区| 亚洲人成网站999久久久综合| 亚洲一区二区在线视频| 在线日韩欧美| 国产午夜精品在线观看| 欧美日韩亚洲一区在线观看| 久久综合给合久久狠狠狠97色69| 亚洲人永久免费| 亚洲福利视频二区| 久久免费少妇高潮久久精品99| 正在播放欧美视频| 最近中文字幕日韩精品| 在线观看日韩| 亚洲高清不卡| 亚洲国产精品电影在线观看| 国产精品日韩在线一区| 欧美午夜宅男影院在线观看| 欧美大片一区二区| 免费高清在线一区| 久久久久久久久久久成人| 欧美在线网址| 欧美专区亚洲专区| 久久久久久网| 欧美成人高清| 欧美亚日韩国产aⅴ精品中极品| 亚洲国产福利在线| 欧美黄色aaaa| 亚洲国产视频一区二区| 亚洲欧洲精品一区二区三区| 欧美好骚综合网| 亚洲精品免费在线| 一区二区电影免费观看| 欧美在线视频a| 欧美高清视频| 国产欧美日韩亚洲精品| 亚洲大胆在线| 亚洲一区欧美| 欧美a级片网| 亚洲精品日韩在线观看| 性欧美1819性猛交| 欧美成人激情视频| 国产伦精品一区二区三区免费| 亚洲成人原创| 欧美在线一级va免费观看| 欧美成人午夜77777| 亚洲欧美国产高清| 欧美高清在线观看| 亚洲电影网站| 久久夜色精品| 性18欧美另类| 国产精品一区二区视频 | 国产日韩在线视频| 亚洲一区二三| 国产精品99久久久久久久女警| 巨乳诱惑日韩免费av| 伊人春色精品| 美国十次了思思久久精品导航| 亚洲无线一线二线三线区别av| 久久亚洲风情| 亚洲国产精品99久久久久久久久| 久久久国产一区二区三区| 亚洲欧美日韩精品久久| 国产亚洲人成网站在线观看| 欧美一区二区三区男人的天堂 | 99在线热播精品免费| 新67194成人永久网站| 精品1区2区3区4区| 一本在线高清不卡dvd| 亚洲伦理精品| 国产一区二区日韩精品| 久久xxxx| 欧美日韩1区2区3区| 亚洲欧美国产制服动漫| 亚洲一区欧美激情| 激情亚洲网站| 日韩香蕉视频| 亚洲国产精品专区久久| 日韩一本二本av| 亚洲国产合集| 亚洲欧美激情视频| 91久久中文| 久久精品中文字幕免费mv| 亚洲精品国产精品乱码不99| 中文日韩在线视频| 伊人精品视频| 性欧美办公室18xxxxhd| 一区二区三区福利| 美女成人午夜| 久久视频在线视频| 国产一区二区| 亚洲综合清纯丝袜自拍| 亚洲一卡二卡三卡四卡五卡| 欧美成年视频| 欧美国产日产韩国视频| 影音先锋日韩精品| 欧美v日韩v国产v| 美女黄毛**国产精品啪啪| 免费观看30秒视频久久| 亚洲午夜日本在线观看| 欧美性猛交xxxx乱大交退制版| 亚洲国产精品视频| 在线一区二区视频| 国产伦精品一区二区三区四区免费 | 亚洲国产日韩欧美一区二区三区| 国产精品久久久久久久久久尿 | 久久色中文字幕| 樱桃成人精品视频在线播放| 欧美人在线观看| 午夜精品福利视频|