フェンウィックツリー、単一の変更で使用され、クエリーインターバル

INT C [ 50005 ]; // 元の配列とフェンウィックツリーに対応する
整数 lowbit(INT X){
     戻り X&( - X)。
}

ボイドアップデータ(INT I、INT K){     // K Iの位置に追加
    しばらく(I <= N-){
        C [I] + = K。
        I + = lowbit(I)。
    }
}

INT getsum(INT I){         // 求A [1 - I]的和
    INT RES = 0 一方、(I> 0 ){
        RES + = C [i]は、
        I - = lowbit(I)。
    }
    リターンのres;
}

 

おすすめ

転載: www.cnblogs.com/King-of-Dark/p/12359753.html