AtCoderで青になるまでにやったこと

AGC029で青コーダーになりました! わーい。 f:id:koikotya:20181218113505p:plain 始めて1年以内に水色になれればいいかな、くらいの気持ちで始めたのでここまで到達できて正直驚いています。 「AtCoderで青になるまでにやったこと」というタイトルで自分語りがしたかったので、競プロを始めてから青になるまでを振り返りたいと思います。

AtCoderを始めたきっかけ

駅メモという位置ゲーを知っていますか? 私は知っています。 競プロを始めたのはこのゲームを効率的に攻略する方法を探るするためだったりします。 もっとも、競プロが楽しすぎたので駅メモの攻略はもう割とどうでもよくなってます。

大学の講義でほんの少しだけRubyを触ったことがあったので、プログラミングに対してあまり抵抗はありませんでした。 青になるまで、AtCoderのコンテスト中に通した問題はほとんどRubyで書きました。

水色まで

水色までは2ヶ月で割とすんなりなれたので、プログラミング以外の地力は緑くらいあったんだと思います。

水色になった時点で総AC数は300強、ABCのCD問題を中心に埋めていました。 使った知識は全探索、累積和、UnionFindくらいだったと思います。

ここまでの使用言語は全てRubyです。 Rubyで実行時間が厳しい問題はそもそも考察が無理だったので、水色適正の実力ならRubyでも普通に戦えるかなと思います。

水色から青

青になった時点で総AC数は750くらい、ABCのCD問題埋めや、400~500点問題埋めを中心にしていました。 f:id:koikotya:20181230024815p:plain 初期のABCは結構難しめの問題があるのであんまり埋まってないですね。 f:id:koikotya:20181230024642p:plain 企業コンの400~500は詐称が多いので埋めてないのがいくつかあります。

ARCのC問題やAGCのA問題を早解きできるとレートが上がることが多いので、このくらいの難易度の問題に慣れていたことはよかったと思っています。 500点以上の難しめの問題も、コンテスト中に通せるとレートが上がって嬉しいです。 難しめの問題をハマってでも通しきる力も大事なのかな、と思います。

また、水色になるとratedなコンテストが減るので、モチベの維持のために他の人が立てたバチャやCodefoces、LeetCodeのコンテストに出るようになりました。 Codefocesに出ると生活習慣が壊れます。 気をつけましょう。

実行時間制限の厳しさを感じていたのでC++の勉強も始めました。 結局C++をコンテスト中に使う事はほとんどありませんでしたが、実行時間お祈りゲーになるよりはマシなので勉強しておいてよかったと思います。 青になるまでならRubyでも割とどうにかなります。 ですが、流石に実行時間の厳しさを感じるので、上を目指すには速い言語が必要だなあと感じています。

これからの事とか

ここまでは大きな冷えや停滞をすること無く結構順調に来られたんじゃないかな、と思っています。 ただ、黄パフォ以上はなかなか出ないので青とは長い付き合いになりそうだなあという気がしています。 水色から青になるまでは7ヶ月、青から黄色までは何ヶ月掛かるか見当もつきませんが、つべこべ言わず精進していきたいと思います。

いつか黄色になりました記事も書けるといいなあ。