ABC014

久々に過去問を解いているので解答載せてみる
Dは最も根から遠い共通の親を見つければ良さそう、までは分かったけど解けなかった。


もうhatenaの書式を覚えていないので数式とか折りたたみとか面倒…

atcoder.jp


A - けんしょう先生のお菓子配り
Submission #21407155 - AtCoder Beginner Contest 014

  • A%B >0 なら不足分を補充する必要がある ことが分かれば解けそう
    • いくつか方法がありそう だけど B-A%B => いくつ追加すれば割り切れるか? を利用するのが楽そう。
    • 初めから割り切れるケースだけ注意。

B - 価格の合計
Submission #21407635 - AtCoder Beginner Contest 014

  • pythonでbitを扱ったことがあまりなかったので時間かかった
    • 文字列になるし頭に0b付くし、癖強いななど思った
    • 今回の問題だと逆順に見ないといけない
  • スライスでの reverse も久々過ぎてすぐかけなかった
    • bit探索とか書けるようになる前の練習のような問題?

C - AtColor

Submission #21407886 - AtCoder Beginner Contest 014

  • Problems では簡単な水色になっているけど緑でもいいような気もする
  • 緑でも解けない問題があったりするので解けてうれしい
  • いもす法ってやつらしい
    • [a,b]の範囲をクエリごとにforで+1するとTLEしそうなのでどうにかしたい
    • 全クエリで table_[a]+=1table_[b+1] -=1 して、最後に一度だけfor table_[i] += table_[i-1] したらよさそう