AtCoder Beginner Contest 131 参加記

最近、競プロにハマっています(N年ぶりM度目)。せっかくコンテストにも出ているのでブログでも書こうと思ったのですが、コンテストに出る毎にブログを書くのは大変そうなので、 リアルタイムでコンテストに参加した&&振り返りたい気持ちがある ときだけこのような参加記を書こうと思います。ちなみにこれは解説記事ではありません。


問題

C - Anti-Division

たぶん人によってはDより難しいと感じるのではと思いました。最小公倍数を求められればいいことにはわりと早く気付けたのですが、ユークリッドの互除法の書き方を完全に忘れてしまっていたのでタイムロス。

long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}

こんな感じで書けますが、言語によっては標準で備わってるみたいで、例えばRubyだと3.gcd(7)とか5.lcm(8)でいけるので「便利〜〜」って気持ちになりました。

D - Megalomania

コンテストが終わった後に

Dを締め切りでソートしない人、課題の提出期限を守れなさそう(偏見)」

とツイートしている人がいて面白かったです。

E - Friendships

最初は全く方針が立たず、手元で図を書いていろいろ試していたら、「完全グラフを作ってから引いていけばいいのでは?」ということに気付いたので提出してみるもWA。くだらない凡ミスをしていたことに気付いて数分後にACできました。分からなかったまずは図を書いてみる is 大事。

振り返り

一応ABCDEの5完はしたものの提出まで時間がかかったり、凡ミスでWAしたりで良くなかったです。今の実力だとコンテスト時間内に全完できる可能性は相当低く、いかに5完早解きできるかが重要だと思っているので、そこらへんを意識して練習できればなあと思います。ゆるーーく趣味程度に競プロできればいいと思いつつも、レートが上がらないと面白くないのでやっていきます。