天天看點

【總結】樹狀數組總結

因為原來很在就學了線段樹,線段樹打起來特别爽,再加上在第一次看到樹狀數組的時候,說樹狀數組能幹的事,線段樹都可以幹,是以原來就沒有學這個,現在把樹狀數組補上了,覺得這還是一個很有意思的資料結構,而且它常數小,寫起來短

我覺得要說樹狀數組就要從最基本的樹狀數組說起,最基本的就是單點修改區間查詢了吧,然後其他的基本上都是這個的變形

算法具體怎麼做我就不發了,說一下我對各個算法的看法吧

單點修改區間查詢和區間修改單點查詢這兩個我是推薦首選樹狀數組的,應為寫起來簡單,短,不容易寫錯,速度快還友善調試

然後區間修改區間查詢還有最值這兩個問題,對于我來說可能線段樹還是要還一些,畢竟樹狀數組剛接觸不久,這連個操作又不是那麼簡單,線段樹就不會寫錯了

然後逆序對我覺得樹狀數組這個方法實在是沒有什麼用,用歸并

二維樹狀數組還是比線段樹要好很多,就是感覺這個不怎麼會考

然後下面我來羅列樹狀數組基本算法的網址:

單點修改 區間查詢這個就不多說了,基本操作

區間修改 單點查詢:

講解:http://blog.csdn.net/u013514722/article/details/40192345

題目:http://www.codevs.cn/problem/1081/

區間修改 區間查詢

講解:http://blog.csdn.net/fsahfgsadhsakndas/article/details/52650026

題目:http://www.codevs.cn/problem/1082/

區間最值

講解:http://www.cnblogs.com/ambition/archive/2011/04/06/bit_rmq.html

題目:http://acm.hdu.edu.cn/showproblem.php?pid=1754

二維樹狀數組

講解:http://blog.csdn.net/z309241990/article/details/9615259

題目:http://poj.org/problem?id=2155

樹狀數組求逆序對

講解:http://www.cnblogs.com/shenshuyang/archive/2012/07/14/2591859.html

題目:http://poj.org/problem?id=2299

上面的所有題都是裸題,全是最基本的操作

然後上面每一個題我也寫了對應的部落格,感興趣可以去看一下

概就是這個樣子,如果有什麼問題,或錯誤,請在評論區提出,謝謝。

繼續閱讀