↓と思っていたのですが、節目ですし、せっかくなので書いてみようと思います。
入緑ブログを書こうかなと思ったんだけど、書きたいことが「Rated参加23回で入緑したRuby勢です、水色目指してもうちょっとだけ(※ドラゴンボール的な意味で)頑張ってみます」で要約できてしまう
— あのぶる+@隙あらばサウナに行きたい🦥㌠ (@thatblue_plus) 2023年1月11日
非競プロerの方への補足
AtCoderという競技プログラミングサイトで上位30%に入る(らしい)、緑色のレートになりましたというお話です。
ちなみに緑色は8段階*1あるレート帯のうちの下から3番目です。
スペック(?)を簡単に
- サーバサイドのソフトウェアエンジニア、仕事はPHP+JS(よちよち)勢
- Sendai.rbのスタッフやRails Girls Sendai(1stと2nd)のオーガナイズをしたりしているが、業務でRubyに触ったことがない
ということで、そのSendai.rbでも何度か競プロをトピックとして扱っていたものの、ちょっと最初はそのときのモブプロ(のドライバー)にも差し支える状態でそれはさすがに自分がつらかったので、Rubyのコードをたくさん書きたくて始めたのがきっかけでした。ということで必然的にRuby勢です。
ABCのC問題までは大体解き方が分かるもののD問題は微妙な状態でスタートしたので、最初は「とりあえず4完出来るまでやってみよう」という温度感。そのあとは順調に嵌っていき、4完を初めて達成したらしたで「とりあえず緑目指してみよう」という風に順調に目標がスライドしていって先週末のABC284でついに入緑したのが現在のステータスです。
やってきたこと
わりかし具体的な内容を1日1ACチャレンジとして見ることが出来ますが、大きく分けると以下の問題を1日1問を目標にやっていました。
- AtCoder Problemsで難易度Moderateとしてリコメンドされた問題
- Educational DP ContestのL問題まで(入門・基本編)
- あんまり深く考えずにLまで突っ走ったのですが、多分最初はE問題(入門編の終わり)くらいまででいいと思います、K問題の類題がABCで出たことがあったのですが、コンテスト中に解けたと思ったら水色diffで嬉しかったけど本当にビビりました
- 競プロ典型 90 問の★3~4の問題
- その他、コンテストでずっこけた問題などのupsolve
昨年の6月くらいから始めて、途中2ヶ月くらい空白期間があるのでだいたい4か月ちょっと、1回だけARCに参加して他はすべてABCのRated参加23回*2で入緑しました。
AtCoder Problemsのヒートマップはこんな感じ。
緑に到達するまでの感想
レーティング、というかパフォーマンスが気になるようになってから色んな人の色変記事を読んで、「(多分公式と言って差し支えないであろう)ランク評価よりも難化している感じがする」というわりかし最近色変した方のコメントを複数読んでいたのでそう簡単に緑に到達は出来ないだろうとは思っていました。
実際の肌感として2020年頃までの記事を読んで受ける印象からすると緑到達までやや苦労したなというところは間違いないと思っています。まぁ過大評価の可能性はぬぐえないですが……
仮に過大評価を華麗にスルーして考えたとして、参加者数が2020年頃にガッと増えたらしく(ソース)、その絡みで茶色が分厚くなったりしたのかなぁと思ったりしました(こっちは過去の分布が良くわからないので100%想像)。
パフォーマンスも順位と参加時点のレートをパラメータにして決まるので、ボリュームゾーンを抜けないと順位が安定しづらく、それが不慣れに輪をかける形でパフォーマンスが乱高下して上がりづらいのかなという印象でした。実際、2回目のRated参加で緑パフォーマンスを出せていて、後はその回のように上手く回せる問題を増やすことを目標にしてEDPCや典型問題集をやっていたところはあったので。
それでも当初は半年かけて緑になるくらいのつもりで考えていたので、実動4か月で達成できたのは我ながらよくやったと思います。
今後について
一旦直近の目標が達成されてしまったため若干燃え尽きた感は拭えず、予約してたのにずっと先延ばしにしていたパルデア渡航を楽しんでいたりしてちょっと休憩中。ペパー君がいいキャラしていて秘伝スパイス探しが楽しいです。
が、せっかくいま楽しめているのでやっぱり「かなり優秀」と言われる水色を目指したい欲が出てきたりしているので「水色目指してもうちょっとだけ(※ドラゴンボール的な意味で)」頑張ってみるつもりです。
とは言えコンテスト本番でそもそも緑色以上の問題の勝率がまだまだ低いので、年末あたりに入水出来たら嬉しいなくらいの温度感で気負わず行きたいです。
まずは目下の課題として緑を維持できるように典型問題の復習を引き続きやっていく感じですかね、目指せ4完安定!
その他
Rubyは計算量重めの問題がきついなーと思って色々調べてた時に出会った記事です🙏
迫力の8万字弱に圧倒されてまだ全部読めていないのですが、いやほんと定数倍が重い問題がつらいのはみんな一緒なんだなぁと思ってちょっと元気になりました(?)。
Ruby勢でまだ不慣れな場合はHashくらいまでは目を通しておくとだいぶ楽になると思います。