izumo’s diary

主に競プロの精進記録

AtCoderで水色になりました

先日のABC109にて水色になることができたので、競プロを始めてから今までしてきたことについて記憶を頼りに書いていきます。個人差が大きいのでこんな人もいるんだな程度に読んでもらえればと思います。

f:id:izumo27:20180909130238p:plain

全体を通して行ったこと

コンテストに参加する

当たり前すぎるかもしれませんが重要なことだと思っています。用事があるときを除いて必ず参加するようにしていました。そのせいで院試の前後は冷えましたが
レートがかかっているので普段とは違う緊張感で問題を解くことができます。また、コンテストで新しく得た知識はより強く記憶に残ったりします。私は累積和、しゃくとり法、半分全列挙などを知りました。

解説を見る

私は解説ACをよくしますが、人によって好みがあると思うので特におすすめはしません。しかし、問題を解いた後に解説を読むのは強くすすめます。これは解説の解法の方が効率的な場合があるからです(自分で解法が効率的な場合もありますが……)。同じ解法ならさらっと読むだけで済むので読んで損をすることはそんなにないと思います。この問題解けたぜ天才かwwwと喜ぶのもよいですが、その問題で得られることはすべて吸収していきましょう(自戒を込めて)。

強い人のコードを読む

同じ解法でも強い人の方がより簡潔に書いている傾向があります。提出時間でソートしたり、知り合いの強い人を見たりするのがよいと思います。

黒~茶色

AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~を解く

最初に解くべき重要な10問が紹介されています。この記事の問題は類題を含めてほとんど解きました。これが終わったころには簡単な300点問題ならほぼ確実に解けるようになりました。私が競プロを始めたころにこの記事が書かれたのは僥倖でした。

茶色~現在

過去問を埋める

AtCoder ProblemsAtCoder Scoresを見て300,400点あたりの問題を解きました(解いています)。昔の問題は傾向が大きく違うので新しいものから解くのがよいです。
最近は400点問題を少しずつ解けるようになってきた気がします。

AtCoder 版!蟻本 (初級編)を解く

蟻本(プログラミングコンテストチャレンジブック)初級編の主にAtCoderにある類題が紹介されています。水色になるために必要かというと、最後の方はそうではないかもしれません(苦笑)。つい先日DPや難しい問題を除いて解き終わりました。

中級者を目指す競プロSlackに参加

コンテスト終了後に解法について議論したり、バチャ(AtCoder Virtual Contest)に参加したりしています。自分と同じくらいの人がいて競プロモチベが非常に高まります。
参加条件(緑or最高パフォ1400以上)を満たさない方には競プロ勉強会Slackがあります。

最後に

茶色と緑を分けて書いていないことに違和感を覚えた方は鋭いです。実は諸事情で6月くらいからほとんど精進できていませんでした。そのせいで停滞気味だったのですが最近精進を再開してようやく水色になることができました。
今年中に青になるのが競プロを始めたときからの目標なので引き続き頑張っていきます。