AtCoder Beginner Contest 256 F問題 Cumulative Cumulative Cumulative Sum
問題
提出解答
問題の概要
長さ の整数列 が与えられる. 次の 個のクエリを順に処理せよ.
- Type 1:
- Type 2: を の累積和, を の累積和, を の累積和としたとき, の第 項目を求めよ.
制約
解法
の第 項目, の第 項目, の第 項目, の第 項目をそれぞれ と書くことにする. このとき,
である. このとき, について, の式と の式の積和に変形できないかどうかを考える. すると,
であるから, 列 をそれぞれ
とすると,
となる.
ここで, の管理と計算方法について, 各点更新と区間和が必要であり, 区間和は整数の和であることから, Binary Indexed Tree というデータ構造を利用することによって, 各クエリを Type 1, Type 2 共に で処理, 計算できるので, 全体で 時間で クエリまとめて処理できた.