關於二進位制 異或 樹狀陣列的問題研究

2022-08-19 04:27:11 字數 562 閱讀 4898

首先,我們規定兩個相鄰二進位制數的「差值」為對應位數不同的個數(eg:01與10的差值為2,011與100的差值為3),然後,如果我們再對相鄰兩個二進位制數進行異或運算,它的結果將會是下面這圖這樣的。然後,如果我們把他們兩個的值放入到樹狀陣列中,就會發現它完美的符合樹狀陣列的運算(差值即為樹狀陣列中的a[i],異或後的值為c[i] )。

之後,如果我們把異或後的值換成二進位制的形式,將會變成下面這樣。 

似乎是因為每相鄰兩個二進位制數的差值恰巧符合了樹狀陣列的二分劃分(?) 才讓異或之後的值又恰巧等於了樹狀陣列中c[i]的值?

感覺我對樹狀陣列還只停留在表面,如果有dalao看到這篇文章並且明白其中的原因希望能夠指教一下_(:з」∠)_

異或與二進位制

baobao has a sequence a 1 a 2 a n he would like to find a subset sof such that i j s a i a j a i a j and s is maximum,where means bitwise exclusive or...

二進位制位運算(與 或 異或 取反)

1.與運算 and 0 and 0 0 全1才1 1 and 0 0 0 and 1 0 1 and 1 1 用途 用來位置0,若想把ffh 11111111b,255d 第 三 五 從右往左 位置0,只需 and 11101011b 235d,e8h 2.或運算 or 0 or 0 0 全0才0 ...

關於二進位制

二進位制是計算技術中廣泛採用的一種數制。二進位制數 據是用0和1兩個數碼來表示的數。它的基數為2,進製規則是 逢二進一 借位規則是 借一當二 由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機 系統使用的基本上是二進位制系統。二進位制中的單位 1byte 位元組 8 bits 位 1kb 千位元組...