静的配列 a の区間 l...r の合計を O(n) 未満の漸近線で素早く計算する方法に関する問題があります。
配列 a を同じサイズの k 個のブロックに分割し、最初にそれぞれの要素の合計を計算しましょう。
リクエストに応答するとき、配列 a の要素を調べて結果に追加できます。また、ブロックの 1 つがセグメント内にある場合は、その合計を結果に追加して、結果をスキップできます。このブロックの要素。
このアルゴリズムでのクエリあたりの最大操作数は n / k + k であるため、最適な k は n の平方根に等しくなります。
 

配列 a の区間 l...r の合計を迅速に計算する方法に関する問題があります。この場合、要素は一度に 1 つずつ変化し、漸近的に O(n) 未満になります。
このタスクは前のタスクと同様に解決されますが、変更をリクエストする場合は、対応するブロック内の金額を変更する必要があります。

セグメントに対して一括操作を実行し、インデックスによって要素を認識する必要があるタスクが与えられています。
一括操作はセグメントの合計計算として実行されます。
ブロックごとに、変更をそのブロックに保存し、そのブロックから要素をリクエストするときにその情報を考慮します。