AtCoder 黄色になりました

ReiVindicatio(@RVindicatio)です.  先日のABC268でやっと黄色になれたので, 自分語りをしようと思います.

プログラミングをはじめて1年9ヶ月, 青色から1年2ヶ月でした. 

解いた問題数

これに Codechef や LeetCode などの solved を足すので、大体 4300 問くらいだと思います。青達成時が 1800 問程度だったので、新たに 2500 問くらい解いたということですね。さすがに黄色達成までに解いた問題数ではかなり上位の方だと思います。

やったこと

解き直しとかは全くやってません。

ABC 〜黄色埋め

ABC の黄色 diff までの問題を全て埋めました。やったのは 1 年前とかなので、正直よく覚えていません。効果はあった気がします。AtCoderは特に日本語解説が豊富なので、詰まることなく進められるのが良い点ですね。

Codeforces Div3 全埋め

おすすめ1。Codeforces の Div3 にある問題を全て埋めました。

Div3 の問題は難しいデータ構造やアルゴリズムを必要とする問題が存在せず、使ってもせいぜいセグ木、SCC、dsu くらいまでです。それよりかは様々な小問題の実装を何度もやらされることになるので、細かな実装速度の向上や考察ステップの省略が行えるようになります。「考えれば実装できるけどいちいち時間がかかってしまう」みたいな場面によく遭遇する人には強くお勧めします。Div3 自体比較的新しいため、カスみたいな問題は少ない印象です。

解説ブログも書いていましたが、普通に飽きたのと、解説書いてるより問題を解いた方が面白いことに気づいたので途中でやめました。

Codeforces ECR 無限バチャ

おすすめ2。ECRのバチャをたくさんやりました(80 回くらい?)。

ECR はその名の通り Educational な問題が多い気がします。特に~ECR50 くらいまではそれが顕著で、中難易度典型アルゴリズムの練習になります。知ってるんだけどまだ慣れてないアルゴリズム(自分の場合だと、行列累乗、二重頂点連結成分分解、マージテク、フロー、遅延セグ木、畳み込み、Mo、区間をsetで管理するやつなど)に慣れておく、といった使い方ができます。

ECRをしばらくやった後は、ABCのFまでで「知識が足りなくて解けなかった」みたいなことがなくなった気がします。

 Codeforce Div2 無限バチャ

Div2のバチャをたくさんやりました(30回くらい?)。

もし ABC を主眼に置いているなら、Div2 よりも ECR や Div3 のバチャを優先するべきだと思います。どちらかというと ARC に問題は近く、Div2 をしばらくやると ARC で大負けしなくなりました。

わからん問題の公式解説がよくわからんとき、解説ブログを検索しても中国語のブログしか出てこないような場面に何度も出会したので、精進はなかなかしんどかったです。

出れるコンテストには基本全部でる

AtCoder だけではなく、Codeforces、Codechef、TopCoder、LeetCode など予定が合うコンテストは全て出ました。上位勢は僕以上に出ているので、どうやって時間を捻出しているのか不思議でたまりません。

ABC 皆勤

実は AtCoder を始めた ABC185 から ABC268 までの 84 回の ABC に全て rated で出ています。それだけ人生における優先度が高かったわけですね(クリスマスですらABCのために予定を断りました)。個人的には、今日はなんとなく unrated にしておこうとか、実力が上がるまでは一旦コンテストに出ないでおこうみたいな考え方は、成長に全く寄与しないと思っています。

黄色になるには

4300 問解いてください。