AtCoder水色になりました (2020年5月)

2020年5月2日のAtCoder Beginner Contest 165で水色になりました。

特にこれと言ったことはないですが、目標としていた水色になったので、いわゆる変色記事を書いてみます。

f:id:kamocyc:20200504074514p:plain

私について

  • 情報系の大学 (夜間だけど)
  • プログラミング実務経験4年半ほど
  • ちゃんとした大学受験勉強をしていないので数学はあまり得意ではない
    • でも東大の院試には受かった

競プロの目的

  • 数学の苦手意識があった。(思考が遅い。少しひねった問題が解けない) なので、時間制限があり、数学的な考察も要求される競プロで鍛えようと思った。
  • 就活のため
    • 最近はAtCoderのレートが評価されると聞いた。
    • AtCoder Jobsという就職サービスがある。
  • C++を勉強しようと思った。Googleでもたくさん使われているというし、C++は苦手だったので。

目的は達成できたか?

  • 数学の苦手克服: 普通に苦手。ただAtCoder始める前よりは考察の苦手意識とかがマシになったと思う。
  • 就活: これから。ただ水色だと、応用情報技術者試験取ったくらいの(取ってないけど)ちょっとした安心感がある気がして、精神的に気持ち楽かもしれない。
  • C++: 競プロに関係あるstdライブラリとか基本的なコードの書き方はわかりました。苦手意識の克服には良いと思います。(基本構文をいちいちググっているとそれだけでモチベーション削がれるので)ただ、C++の主要要素であるクラスとかは全然使わないので、そこは別途勉強が必要です。

水色はプログラマの目標としてちょうどいい

もっと上の青に行くと、セグメント木とか、普通目にしないようなデータ構造を使ったりします。(そっち関連の分野は知らないので、実際にどの程度使われているのかわからないが)

水色までは、DPとかグラフのDFSとか、わりと素直なアルゴリズムばかりなので、普通のプログラマは水色を目標とするといいと思います。実装力の練習とかコンピュータサイエンスの基礎知識を身につけることにも役立ちます。

やったこと

  • 先人たちの記事を読み、必要な知識・スキルを把握 (特に、 AtCoderで水色になるまでにやった事とかをまとめる - shibh308’s diary など)
  • 過去問を解く
    • 苦手な分野を重点的にやる。(ググって問題を探す)
    • AtCoder Problemsでレベルのちょうどいいものを探す。Streak (連続AC日数) をつなぐ。
  • コンテストにできるだけ毎回出る。
    • 「どうせレーティング上がらないかもしれないし...」とか思うといつまで立っても上がらないので、とりあえず毎回参加する。さんざんでもモチベーションにはなる。

問題数をこなすのはけっこう大切です。 例えばDFSとかの知識だけあっても、慣れていないと帰着できることに気づかなかったり、実装に時間がかかったりします。

いわゆる蟻本も読んでみました。結局身についていないので、水色になるまでそこまで役に立ったかと言うと微妙なところですが、まあ図書館とかで一度読んでみるといいかもしれません。 セグメント木とか頑張って覚えようとしましたが、結局身につかないし使いませんでした。

コンテスト本番

いつも10時過ぎに寝ていたので、10時40分に終わるコンテストでは眠くなることが多々ありました。 対策で、8時台に20分でも寝るとだいぶ頭がスッキリします(パワーナップ)。

また、本番ではACすれば正義なので、あまり自信が無くても提出するようにしています。 最近も、ABC166でD問題をPyPyの任意精度の整数を使って強引に通したりしたので、とりあえず出してみるのも大事かなと思います。

あとは、分からなくても時間いっぱいは頑張って考えてみます。色々考えると解けることもあります。

自分は煮詰まったら、トイレに行ったり、数分休んだりしています。休むとパッと解けることがときどきあります(自分は頭が疲れやすいのかな..)。

人気沸騰

下記リンク先のツイートによると、2020年に入ってからatcoderの参加者数が急増しており、1万人を突破しています。

saba on Twitter: "ABC参加者数推移更新しました。 1万人突破!!!!… "

なので、最近は以前よりも競争が激しくなったかもしれません。(レーティングにどう影響するのかはよく調べていないのでわからないですが)

今後

今後もAtCoderやるかは未定です。 本番は緊張感があって割と楽しいですが、パフォーマンスが全然安定しない(茶〜青)上に現在ちょうど水色のボーダーライン上にいるので、次参加したら緑になりそうです。。。