長さNの接頭辞の合計を持つバイナリインデックスツリーを作成したとします。メイン配列には0
と1
が含まれています。今私はどのインデックスが接頭辞の合計Mを持っているかを見たいと思っています(つまり、正確にはM 1
です)。私の配列のようにBITのプリフィックスサムMを持つ位置を見つける方法は?
はa[]={1,0,0,1,1};
プレフィックス合計は{1,1,1,2,3};
今第三インデックスiはBITでこのインデックスを見つけることができますどのように2
の(0ベース)は、プレフィックス和のようになりますか?
ありがとうございます。
プレフィックスサム配列を作成するときに、なぜそれを見つける代わりにBITを使用して検索したいのですか? – shole
@ショールの原因私はまた、メインの配列を更新する必要があります – madMDT
ちょうど通常のBIT操作を行い、インデックスを見つけるためにバイナリ検索を使用しますか? – shole