Loading...
毎回[l..r]を足すとO(n)です。区間ごとの和をツリーにまとめておくと、クエリも更新もO(log n)で処理できます。
セグメントツリーは配列を「区間(segment)」に分割し、各区間の合をノードに保存した二分木です。ルートは全区間、葉は要素1個を担当します。