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

雁過無痕

  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>
            亚洲性色视频| 极品裸体白嫩激情啪啪国产精品| 9人人澡人人爽人人精品| 亚洲第一偷拍| 蜜桃伊人久久| 亚洲福利视频一区| 性色av一区二区三区在线观看 | 欧美在线免费| 一区二区三区免费网站| 亚洲一区二区三区在线播放| 亚洲小说区图片区| 久久精品国产精品 | 最新亚洲一区| 99re6热只有精品免费观看| 一区二区三区视频在线看| 欧美一区二区精品| 欧美高清视频| 国产精品久久久久久影视| 国产一区二区精品丝袜| 91久久精品www人人做人人爽| 99这里只有久久精品视频| 欧美一区二区三区视频在线| 欧美福利电影网| 中文一区在线| 老司机67194精品线观看| 欧美日韩一区在线观看视频| 精品不卡视频| 亚洲综合精品一区二区| 欧美h视频在线| 在线视频日韩| 欧美不卡在线| 精品电影在线观看| 久久狠狠婷婷| 亚洲一级黄色av| 欧美电影免费观看网站| 国产乱码精品一区二区三区五月婷| 亚洲福利视频一区二区| 午夜影视日本亚洲欧洲精品| 亚洲国产va精品久久久不卡综合| 亚洲字幕在线观看| 欧美日韩免费观看一区二区三区 | 国产精品亚洲美女av网站| 欧美成人精品不卡视频在线观看| 国产精品久久久久久久9999| 最新日韩在线| 美女视频一区免费观看| 亚洲已满18点击进入久久| 欧美欧美全黄| 亚洲裸体在线观看| 免费视频一区二区三区在线观看| 亚洲欧美国产日韩天堂区| 欧美日韩色综合| 99视频+国产日韩欧美| 亚洲大胆女人| 欧美成人中文字幕| 91久久精品美女| 欧美福利小视频| 久久一日本道色综合久久| 国产一区二区三区四区三区四| 午夜精品影院在线观看| 亚洲午夜精品一区二区| 国产精品v片在线观看不卡 | 最近看过的日韩成人| 久久午夜电影| 久久综合九色九九| 亚洲国产一区二区三区高清 | 伊人春色精品| 另类酷文…触手系列精品集v1小说| 亚洲欧美另类在线| 国产午夜精品理论片a级探花| 久久国产日本精品| 久久精品系列| 亚洲精品视频在线观看网站| 亚洲人在线视频| 欧美日韩一区高清| 欧美在线精品免播放器视频| 性感少妇一区| 亚洲国产乱码最新视频| 亚洲日本无吗高清不卡| 国产精品美女久久久久久2018| 久久本道综合色狠狠五月| 久久视频国产精品免费视频在线| 亚洲国产精品久久人人爱蜜臀 | 亚洲黄色免费电影| 欧美另类变人与禽xxxxx| 国产精品99久久久久久www| 亚洲视频欧美在线| 精品999在线观看| 亚洲毛片在线观看| 国产综合精品一区| 亚洲精一区二区三区| 国产欧美一区二区三区久久 | 久久久久久久综合| 欧美一区二区大片| 亚洲激情啪啪| 在线亚洲免费| 亚洲高清久久久| 亚洲香蕉在线观看| 亚洲日本免费| 午夜日韩视频| 一区二区动漫| 久久久www成人免费毛片麻豆| 一区二区三区免费看| 久久精品九九| 午夜精品视频网站| 欧美伦理影院| 免费在线日韩av| 国产精品欧美精品| 91久久久精品| 在线日本欧美| 午夜久久资源| 中日韩视频在线观看| 久久久久一区二区| 欧美一区二区三区在线看| 欧美顶级少妇做爰| 老司机67194精品线观看| 国产精品看片你懂得| 亚洲精品久久久久| 亚洲日本精品国产第一区| 久久久久九九视频| 欧美在线视频不卡| 欧美日韩国产综合久久| 欧美华人在线视频| 尤物视频一区二区| 欧美在线亚洲在线| 久久久精彩视频| 国产一区二区三区四区三区四| 亚洲一区二区视频在线| 亚洲视频国产视频| 欧美精品www在线观看| 欧美高清在线观看| 在线观看国产精品网站| 久久久水蜜桃| 老司机aⅴ在线精品导航| 永久免费精品影视网站| 久久婷婷国产综合国色天香| 欧美中文字幕在线观看| 国产伦精品一区二区三区免费| 日韩天堂在线视频| 亚洲影院色无极综合| 国产精品高清网站| 亚洲视频一起| 欧美中文字幕久久| 狠狠色噜噜狠狠狠狠色吗综合| 欧美伊久线香蕉线新在线| 久久嫩草精品久久久精品一| 影音先锋亚洲视频| 欧美日韩成人激情| 亚洲网站在线播放| 久久精品国产免费看久久精品| 国产一区二区在线观看免费播放| 欧美在线亚洲在线| 亚洲国产日韩欧美在线图片| 一区二区欧美在线| 国产女优一区| 久久这里只精品最新地址| 亚洲国内在线| 欧美在线观看视频| 亚洲电影中文字幕| 欧美日韩国产综合久久| 亚洲欧洲精品成人久久奇米网 | 欧美一区二区三区久久精品| 国产日韩av一区二区| 久久久久久久999| 亚洲国产日韩欧美综合久久| 亚洲欧美日本另类| 精品不卡一区| 欧美日韩国产限制| 亚洲在线视频观看| 免费不卡中文字幕视频| 亚洲精品视频一区二区三区| 国产精品乱码人人做人人爱| 久久不见久久见免费视频1| 亚洲第一页自拍| 性色av香蕉一区二区| 亚洲激情二区| 国产日产欧美一区| 欧美日韩在线免费观看| 久久精品国产精品| 亚洲午夜一区二区| 欧美成人精品福利| 欧美一区三区三区高中清蜜桃 | 在线视频中文亚洲| 国产手机视频一区二区| 欧美极品一区| 久久精品91久久香蕉加勒比 | 亚洲欧美国产高清| 亚洲精品在线视频| 美女黄网久久| 性欧美xxxx视频在线观看| 日韩亚洲欧美中文三级| 国产一区二区三区四区| 国产精品欧美精品| 欧美精品在线观看| 乱码第一页成人| 久久久久久伊人| 久久精品首页| 久久成人国产精品| 性欧美激情精品| 亚洲欧美亚洲|