AtCoderで7回目の青を目指すための計画


このエントリーをはてなブックマークに追加

一応趣味は競技プログラミングということにしているものの、AtCoderのAlgorithm部門では2022-02-05 に青であったのを最後に2年半以上も青に戻ることができていません。

https://atcoder.jp/users/minus9d

最初はそのうち青色に戻るだろうと思っていたものの、もはや適正レートが1400台であることを認めざるを得ません。

この2年半は勉強せず実力テストを受けるのを続けていたようなものなので、レートが上がらないのは当然と言えば当然です。 少しずつ時間もできてきたので、真面目に勉強をやり直してレートを1600に戻すことを画策中です。

自分の弱点で思いつくものを書き出してみます。

  • 緑パフォーマンスをしばしばとってしまう
    • ABCで2000~3000人以上が解いているような緑diff, 水diffの問題が解けず大コケしてレートが-40, -50となることがしばしばあります
    • 知識の穴がかなりあるように思います
  • 有名問題の解法や典型を把握できていない
    • LIS (Longest Increasing Subsequence) をDPで解く、と言われても、ピンとこなかったりします
    • 遅延セグ木、全方位木DPなど、ここ数年で出題頻度が上がり典型化したと思われるテクニックや解法も十分フォローできていません
  • 解法テクニックが脳のキャッシュに乗っていない
    • 解説を見ると見たことがある解法であっても、コンテスト中は完全に思いつけていないことが多いです
  • 考察 and/or 実装が遅い
    • ABCのC問題くらいまで自分の中ではほとんど詰まらずにできたつもりでも思ったより順位が出ない(1,000位にも入れていない)というパターンが多いです
    • 考察と実装のどちらが遅いのかは分かりませんが、おそらく両方。
    • 考察:脳の老化で脳のクロックが落ちていることが疑われるので、改善不可能かも?
    • 実装:コーディングの練習をすれば改善しそうですが、その時間がなさそう。スニペットやマクロを整備するなどの地味な作業は効きそう(本質ではないが)
  • 実装でハマる
    • 昔からですが、解法は見えていても実装でハマって解ききれないパターンが多いです
  • テンプレ不足
    • 頻出の実装をテンプレとしてまとめられていないおかげで、実装でエンバグしやすい気がします
    • 例えばめぐる式二分探索は完全に把握していて、特に何も参照しないでもバグらせずに書けます。これと同じような感じで、実装をテンプレ化してバグらせないようにしていく努力が必要と思います
    • めぐる式二分探索くらい頻出であれば脳の長期記憶に入るので良いのですが、そうでない実装はすぐに忘れてしまうので、テンプレ化して参照できるようにしたいです

この中でもっとも致命的なのは「緑パフォーマンスをしばしばとってしまう」なので、まずは難易度の低い問題を確実に解けるようにすることを目指していきます。

ここまでにやったことは以下です。

  • Cosense (旧Scrapbox) にメモ用ページを開設
    • https://scrapbox.io/minus9d-prog-contest にメモ用ページを開設しました
    • 勉強したことをブログにまとめるとなると心理的障壁が高いですが、このサイトでは誤りを気にせず見聞きしたことを書いていくことにしました(たまたま検索で引っかかった人には申し訳ないですが)。
  • 競プロ典型 90 問
    • 2021年6月に27番までの簡単な問題のみ解いて放置していたので、再開しました
    • 本当は実際に考えてコーディングしてだめなら解説を見る、とすべきだとは思いますが、数分考えたらすぐ解説を見るスタイルを試しています
    • ★7の問題はかなり難しいですが一応解説は見て、キーワードだけでも把握することをしています
    • 問題文を見たら解法がすぐに思いつくようになるまで何周かしてみる予定です
  • 取り組むべき資料のリスト化

本当は今年中に青復帰と言いたいところですが、現実的にはかなり難しいと思うので、年末時点でレート1500を目標にしておきます。