発行されたカメの声
我々は、すべてのサブセグメントとXORアップを置きます
一緒にこのルーチン事は接頭辞カナダのビット単位で聖歌を考えています
まず、プレフィックスとは、私たちが取得することができます\(N ^ 2 \)\(20 \)ポイント
次に考えるビット、我々が見つかりました。その長いの計算のように(K \)\ビット上の\(1 \)出現数
厳密に言えば
限り、我々はすべてのことを知っている\(1 \)の出現のパリティ数
減算が実行されますので、その検討します
我々は、セット([I] _k \ S \ ) を表し\(K \)ビットである\(0/1 \)、\ (S [I]。1〜_ {K}は\)を表し、[I](S \ \ )最初から\(1 \)のビット\()K \マグニチュードビット
もし(S [I] \)\の(K \)\ビットで\(1 \) 、その後状況が回答を貢献しています
\(1.s [J] _k = 0 \)且\(S [J] _ {1〜K-1} <= S [I] _ {1〜K-1} \)
\(2.s [J] _k = 1 \)且\(S [J] _ {1〜K-1}> S [I] _ {1〜K-1} \)
もし\(0 \)
\(1.s [J] _k = 1 \)且\(S [J] _ {1〜K-1} <= S [I] _ {1〜K-1} \)
\(2.s [J] _k = 0 \)且\(S [J] _ {1〜K-1}> S [I] _ {1〜K-1} \)
見出さ\(\ [i]の合計 \)は、 現在のビットが保存、開口2点の重みフェンウィックツリーを考慮し、比較的小さい\(0/1 \)場合\(S [I] _ { 1〜K} \)値の数
方法2:神の魚多項式テクノロジー
セット\(F_iと\)は、各番号の出現回数である(S_I \)\プレフィックスと\(I \)発生数、\(M = \ A SUM [I] \)
それから
\(のf_i = \和\ limits_ {J = 0} ^ {MI} s_j * S_ {J + I} \)
それを変形させます
\(F_ {MI} = \和\ limits_ {J = 0} ^ {I} s_j * S_ {MI + jを} \)
この事の右側には、かなりの畳み込みのように見えます。。当社は、取得するについて、それをロール\(fは\)配列フリップ
そして、数字は若干異なる、あるいは倍アップしているかを確認