Lowbit
前言:
相信許多人學樹狀數組的時候其實并沒有了解lowbit運算算的是什麼,現在我給大家簡單介紹一下。
正文:
lowbit(x)計算的結果是2^k,其中k為x在二進制表示下末尾0的的個數
舉個例子,比如說x在二進制表示下為100100010100,那麼lowbit(x)就等于2^2,是以說樹狀數組中的不斷加減lowbit(x)操作j就相當于是(用減舉例):
100100010100
-000000000100
=100100010000
-000000010000
=100100000000
-000100000000
=100000000000
-100000000000
=0
就是這麼簡單。