アラフォーが1年以上,緑でうごうごしている話
この記事は,Competitive Programming Advent Calender 9 日目の記事として作成しました.
昨日は hotpepsi さんの「Xcodeで競技プログラミング」です.たいへん有益な記事です.ぜひご覧ください.
-----
おことわり
完全に個人の主観による,お気持ち記事です.有益な内容は何もありません.なんだかつい魔が差して登録してしまいました.申し訳ない気持ちでいっぱいです.
自己紹介
AtCoder のプロフィールはこちらです.非情報系の(いちおう)理系の学部を卒業し,ソフトウェア開発者として 15 年ほど働いているアラフォーのおじさんです.
現状
AtCoder Scores 様でグラフ化いたしますと,ご覧の通り,非常に冴えないムーブをしています.
2020 年の 2 月ごろに,一度心が折れているのが見て取れます.その後,赤枠で囲んだあたりを見ていただきたいのですが,2020 年 6 月ごろに,何を思ったのか急激にやる気を出しているのがわかります.そして,やる気と反比例してレートが下がっているのもわかります.茶色に落ちそうでした.AtCoder おもしろいね.
どんな練習をしたか
AtCoder Problems 様を活用した過去問を解く練習はもちろんですが,以下の書籍なども使って勉強しました.
- プログラミングコンテストチャレンジブック(通称:蟻本)(初級編まで+α)
- アルゴリズムとデータ構造(通称:けんちょん本)
- プログラマの数学(結城浩 先生)
以下のサイト様にも大変お世話になっています.
- けんちょんさんの Qiita,はてなブログ
- アルゴリズム・ロジック
- 他,解説記事を書いてくださっている皆様
コンテストや過去問練習時に自力で使用したことがある,身に着いたと思われるアルゴリズムとして,思いつく内容をざっと列挙します.もう少しある気もします.
- 二分探索
- 累積和・累積積・累積XOR
- しゃくとり法
- ランレングス圧縮・座標圧縮
- bit 全探索
- DFS・BFS・01BFS
- ダイクストラ法,ワーシャル・フロイド法
- Union-Find
- 初歩的な動的計画法,bit DP,桁 DP
- BIT・セグメント木・遅延伝播セグメント木
- 半分全列挙
聞いてた話と違う
いちばん書きたかった話はここなのですが,水色ってこんなに遠いんでしたっけ?
ひとえに私の頭の出来が残念なせい,といえばその通りです.ただ,私が AtCoder に登録した 2019 年 3 月くらいの時点では,「ABC-C まで安定して早解き出来れば水」とか,「職業プログラマで緑は最低ライン」みたいな風潮だったのです.そして,2019 年前半くらいまでは,確かにそんな感じもしていたのです.
しかし,AtCoder の参加者が急激に増加し,ABC が 2 回連続 unrated みたいな時期を経て,なんだか雰囲気が変わってきた感じがしました.2020 年の 4 月ごろを境に,その印象はさらに強くなりました.
自分としては力がついてきている実感はあるのに,他の参加者たちが,明らかに自分より速く成長している.水色になるのを目標に頑張ってきたが,どうもゴールが遠ざかっている気がする.AtCoder おもしろいね.
だから何と言われればそれまでですが
もし私と同じように感じて,緑以下のレート帯で苦しんでいる人がいたら,「つらいのはあなただけじゃない」と傷を舐め合いたいです.弱いおじさんは孤独なのです.
結局は,「レートに一喜一憂するのはやめて,ゲームとして楽しもう」というありきたりな結論におちつきます.ただ,心からそう思えるようになるまで,職業プログラマとしてのキャリアが邪魔をして,結構苦しかったのです.この記事が,どこかにいる同志の慰めに少しでもなれば幸いです.いや,ならないか.なりませんね.
おわりに
AtCoder には本当に感謝しています.わけあって 2 年半ほど休職したのですが,復職に向けたリハビリのつもりで始めた AtCoder に本当に救われました.AtCoder を始めてから明らかに体調が回復し始めました.自分はソフトウェアの仕事が好きなんだと思い出させてもらえました.感謝してもしきれません.
他の強い皆様の充実した記事と比べると,私など場違いもいいところで,たいへん恐縮です.まあ,こんなおっさんもいるんだ,たいへんだね,と笑ってください.
-----
Advent Calender 次の記事は imuraya さんの「競技育児と競プロやって一年で何とか緑になった話」です.タイトルだけでどれだけたいへんなのかと震えがきます.たのしみですね!