塩見周子の徒然日記

自分のことを塩見周子と思い込んでいるオタクです

3/5 AtCoder

こんにちは。今日も昼過ぎに起きました。とーです。

AtCoder

解くに至った問題(7問)

ABC:019B/025B/038C/047B/068D/105D
ARC:022B


ABC105D

また部分数列の問題 部分和でMで割った余りが0になるようなところはいくつありますかってのを求める
結局、これも累積和を計算し、あるところとあるところの累積和を引いたものをMで割ると0になるならば(つまり、二つの累積和はMで割った余りが等しい)、その間の累積和はMで割り切れますよということを使ってやっていく
累積和と言っても、Mで割ったあまりのみが気になるので、累積和を計算する過程でMで割る操作をすれば、勝手にM以下の数字に変換される
あとは、余りが同じものの数を数え、そこから2つ選ぶ場合の数を計算して足し合わせれば答えになる

atcoder.jp





解けなかった問題
ABC:098D/106D/118D