AtCoder水色になるまでにやったこと
らぴおです。
ブログの下書きを覗いたら、約一年半前の書きかけを見つけたので、供養してあげたいと思います。
AtCoderで水色になった
2018/12/8のAtCoder Beginner Contest 115で水色コーダーになることができました。
卒研と並行してやってた感じですが、隙間時間を見つけてコンテストに参加し続け半年ほどかかりました。
やりました!!水色コーダーです!!!
— らぴお (@Gxupu50ILbqonRQ) December 8, 2018
アルゴリズム完全に理解した!!!!!!(?) pic.twitter.com/x1vkvzu0HL
水色になるまでにやったこと
緑からなかなか水色に上がれない方向けの内容になります。
1. 問題埋め
いろいろ含めだいたい600問くらい解いたみたいですが、緑から水色になるまでに経験値として役立ったと思う問題集を列挙しておきます。
- AtCoder 300 ~ 400, 昔のARC B, ABC CD
https://kenkoooo.com/atcoder#/table/daleksprinter
- JOI 難易度5, 6
https://joi.goodbaton.com/?aoj_id=daleksprinter&atcoder_id=daleksprinter
- yukicoder ☆2 ~ 3
https://yukicoder.me/users/5915/submissions
- Codeforces Div2 A ~ C
https://yang33-kassa.jp/Codeforces-Problems/?user=b1015120
- 蟻本初級編練習問題
これらの問題をたくさん埋めていたら少しずつ典型を吸収することができ、競プロ的な考察ができるようになる気がします。
2. ライブラリの作成、テンプレの整備など
新たに問題が解けるようになるって訳ではないですが、よく使用するようなアルゴリズムや関数なんかは、事前に準備しておくと、バグも発生しないですし、問題を解くスピードが上がります。
AtCoderに関して言えば、数学系の問題が多いので、整数論や、組み合わせ系のライブラリが役立つことが多かったような印象です。
コンテスト中の時間に余裕を持たせるためにもしっかりやっておきましょう。
3. 覚えた典型のアウトプット
以前はこのブログに僕の解いた競プロの問題について記事を書いていました。
(ほぼ雑記だったし、今は消してしまっています。)
問題を解いて、解法や典型だと思った部分を、解けなかったときの自分に説明するように日を改めてアウトプットすると、コンテスト中にテクニックを思い出せるようになります。
まとめ
AtCoderで僕が水色になるまでに解いた問題や練習方法の紹介をしました。
もちろん元々の数学力などもレートの遷移に影響するためかなり個人差がありますが、
僕が紹介したレベルの問題をしっかり理解することができれば、問題なく水色は行けると思います。
(一年半前の話なので、今のレベル感はわかりません。もしかしたら難しくなっている気がします。)
割と緑色の方を対象に書いていたのですが、灰や茶などの始めたばかりでどう勉強すればいいかわからないといった方は、まずはABC-Cを解くことを目指しつつ、以下の参考書などを使って典型を補っていく方法などが良いと思います。
プログラミングコンテストへの参加と練習は、エンジニアにとって良い筋トレだと思います。目的にせず、かといって怠らずに取り組み、エンジニアとしての地力を上げていきましょう。