ABC233_D – Count Interval
問題

提出
TLE: https://atcoder.jp/contests/abc233/submissions/44695634
AC: https://atcoder.jp/contests/abc233/submissions/44695692
解けたが、もう少し簡単な方法があった
以下、思いついた解法を書く。
累積和を用いる。
累積和
つまり、
これをみると、
次に
次に
…
のようにすると答えが求められそう。
1から始まる部分を求めるとき、調べる必要がある
そこで、mapを使って
これを使うことで
mapを使うと、i番目以降の和を検索できなるので、全体の和からそれまでの和を引くことで対応した。
最初、mapでなくunordered_multisetを使って実装したがTLEになってしまった。
unordered_multisetのcountは、検索対象をaとして、
検索対象がt個だとt回かかる。
また、公式解説を見るともっと簡単に求めていた。
mapを使って和を検索するとき、自分はlを固定して計算していたが、公式解説ではrを固定して計算していた。
mapを使うと順番がわからなくなるので、lからrまでを検索する時、 lを固定して計算すると全体の和からi番目までのものを引くことになる。
しかし、rを固定するとr以内の累積和を探索するのみなので、全体からわざわざ引く必要はなくなる。
コメント