AtCoder でレッドコーダーになりました

タイトルの通り、AtCoder でレッドコーダーになりました。
折角なので、ブログ記事を書くことにしました。

競技プログラミングとの出会い

大学1年の時に、AOJ の問題を1週間に1問解くと単位がもらえるという講義があり、それで初めて競プロを知りました。ただ、その頃は単位を取るためだけにやっていたので、1週間に1問解くだけでした。

2016年7月16日 コンテストに参加し始める

コンテストに参加し始めたのは、
2016年7月16日 AtCoder Grand Contest 001
が初めてでした(ツイートを調べると、期末試験直前の現実逃避として始めていそうでした)。

この時点(大学3年)でのプログラミング経験は、大学の教養の講義で JavaScript, Ruby を触ったことがある程度、学科の講義で C 言語を触ったことがある程度だったと思います。

2017年4月15日 黄色に到達

このころ(大学4年)は学科の同期が何人か一緒に競プロをやっていて、
一緒に ICPC 2017 に出ることになる polyomino, hyksm
コドフォの gym をやりまくることになる kopricky, pachicobue
などと一緒に AOJ-ICPC の話を学科控室でワイワイしていました。

黄色になった当時は DFS すら書けなかった記憶があります。今では DFS が書けないのに黄色になれるということはなさそうなので時代を感じますね。

2019年8月24日 橙色に到達

修士2年の時に、橙色に到達しました。このころ、(修論からの逃避行為の一環で?)AtCoder Problems で黄色~赤色埋めをし始めました。修論発表当日も緊張を紛らわすために、行きの電車でAGC001 D - Stamp Rally を埋めたりしていました。kenkoooo さんには感謝の念しかありません。

ICPC 2018 では、ats 君、polyomino と一緒に地区予選まで行きました。ICPC は 2017, 2018 の2回しか参加できませんでしたが、本当に楽しかったなぁと思います。

RPS精進、赤色チャレンジに失敗し続ける

社会人になってから、何故か gym チームバチャ、 AGC 埋めが加速します。
kopricky, pachicobue と Bue_World というチームで gym のチームコンを 50 バチャくらい走りました。
ついでにRPS 精進も行い、残り問題数も管理していました(https://kenkoooo.com/atcoder/#/contest/show/91528c6f-c0dd-4975-b943-cc0992d533a3
最高時は Rated Point Sum 2位、Rated の問題は残り20問切るくらいまで行っていました(現在は Rated Point Sum は3位、解いていない問題は一杯)。
AGC埋めについては、最後のほうは銀パフォ上位、金パフォ、難易度すらついていない、みたいなゾーンになっていて、一週間くらい空いている時間にずっと考えてようやく1問解けるかみたいなことになっていました。

レートに関しては橙になってからも比較的順調に伸び続け、
2021年2月13日には 2748 まで行き、レッドコーダーチャレンジゾーン(ARC 1回でレッドになりうるゾーン)に初めて突入しました。
2021年5月10日には 2797 になり、その後1年以上赤未達成内 highest レート1位を保持し続けることになります。

2021年11月28日の 2787 を最後に泥沼が始まり、2022年6月19日には 2568 まで落ちました。このあたりでもう結構赤は無理かなぁという感じになっていて、同時にこの時期に転職もして競プロ精進も終了したので、まあここからは惰性で続けるだけだな・・・という気持ちでした。

2022年12月5日 赤色に到達

それからコンテストに出ることしか競プロをしていませんでしたが、問題との相性が良かったのか赤パフォを連発、それまで1回しか取ったことのなかった銀パフォも2回取って、泥沼が始まった2021年11月28日での 2787 まで戻した状態で AGC 059 を迎えました。
AGC059では A, B, C を通したタイミングで9位で、赤色を確信しました。コンテスト中でしたが、流石に目がウルっときました。(その後 E 問題に飛びついて無事WAを連発しました)

 

赤達成までのレート変化(2022年後半)

17 回目のレッドコーダーチャレンジでした。

AGC 埋めをしまくった結果、AGC で3200↑ パフォを出して赤になれて、精進が報われた気がしました。

統計情報

旧ABC. ARC はほとんど埋めていないです。
AGC埋め頑張ったなぁ・・・

個人的な感想一覧

  • AGC は特殊な問題が多い割に、AGC の頻度は高くないので、 AGC 埋めはレート向上には多分そんなに活きない
  • 早解きに苦手意識を持っていたので、早解き失敗で冷え確定はツラかった
  • 多分コドフォバチャを大量にやるとかして、早解き力を上げるのが一番レートに良い
  • 競プロはメンタルゲー
  • AGC埋めは楽しかった
  • チームバチャも楽しかった
  • 自分の脳力的にはここがかなり限界値

終わりに

AtCoder でレッドコーダーになることは、自分には厳しいかもしれないけれどいつか達成できたらいいなという目標だったので、本当に嬉しいです。

競技プログラミングと出会って、人生は大きく変わった(歪んだ?)と思います。少なくとも、研究室、職業の選択には大きな影響が自分にはありました。

また、競技プログラミングを通じて知り合いが増えたり、新たな繋がりが得られたりしたのは良かったです。自分一人ではここまで続けていなかっただろうなと思います。

これ以上上を目指すのは自分には厳しいかなという気持ちだったりするので、これからはコンテストにだけ出るくらいで、のんびり競プロ界隈に居続けようかなと今は考えています。

 

おまけ

ここまで読んでいただいた方向けに、自分が AtCoder の RPS 精進をしているときに出会って面白かった、印象に強く残っている問題を4問ほど並べておきます。

F - HonestOrUnkind

D - Uninity

F - Yes or No

J - Neue Spiel