ワードサイズの転倒数を O(log(w)²) 時間で求めるよ

これいる? 問題設定 \(w\)-bit 整数を 0/1 配列として見たときの転倒数を考えます。 すなわち、\(x = b_0 \cdot 2^0 + b_1 \cdot 2^1 + \dots + b_{w-1} \cdot 2^{w-1} = b_{w-1}\ldots b_1 {b_0}_{(2)}\) (\(b_i \in \{0, 1\}\)) として、\(i\lt j\) かつ \((b_i, b_j) = (1, 0)\) なる \((i, j)\) の個数を求めたいです…