ganmo::cout

競技プログラミング始めました

AtCoder青色になるまでにしたこと(+α)

念願の青色になったので競プロer恒例の自分語りポエムを書いていこうと思います
飽くまで一例、持論に過ぎないことを断っておきます
Codeforcesは入れ替わるように着水しました


背景 (競プロ以前)

小学生時代からゲーム作るためにたまにプログラミングやってました
高校時代はまあまあ数学が得意でした(センターと2次の得点率が同じくらい)
真面目に勉強してなかったのでUTとかKUとかTITとかのガチプロの皆さんに比べるととても弱いですが、chokudaiさんのブログ記事曰く数学が得意だと青になれるらしいです
大学に入ってからはバニラのNNにdropoutがついたやつをフルスクラッチで作ったりとかもしてました
競プロ始める以前は高校時代からゲームとか作ったりしてました

この帯から上がるための所感
  • プログラミングに興味をもつ
  • AtCoderを知る

灰色 (Rating < 400)

2018.9.1 ABC108 到達 - 2018.10.6 ABC112 以前

  • AtCoderのコンテストにリアルタイムで出た
  • 競プロ向きの言語(自分の場合はC++)に入門した
この帯から上がるための所感
  • 緑パフォ(800以上)を取る
  • 標準入出力を使えるようになる
  • if, while, for, switchなどの基本的な構文の使い方を押さえておく
  • ABC2完する

茶色 (400 ≤ Rating < 800)

2018.10.6 ABC112 到達 - 2018.11.4 ABC113 以前

  • コンテスト中に400点が通るようになってABC3完・全完が射程圏内に入ってきた
  • AtCoderのコンテスト形式に慣れてきた
この帯から上がるための所感
  • 水パフォ(1200以上)を取る
  • 再帰・累積和・BFS・DFSなどの基本的なテクニックを時間がかかってもいいので書けるようになる
  • 計算量を意識する
  • ABC3完する

緑色 (800 ≤ Rating < 1200)

2018.11.4 ABC113 到達 - 2019.1.12 AISingプロコン2019 以前

  • 400点が安定してくるようになった、たまに500点も手が届くようになった
  • DP・二分探索などのやや応用的なテクニックを知った(まだ使えない)
  • 蟻本を買った(ただし青色になった今も新品同然)
  • ビギナー限定のコンテストで3位を取って賞金を獲得した!
この帯から上がるための所感
  • 水~青パフォ(1400以上くらい)を取る
  • 考察した内容を実装できるようにする
  • 再帰・累積和・BFS・DFSなどの基本的なテクニックを素早く実装する
  • 簡単なDPや剰余演算は時間がかかってもいいので書けるようにする
  • ABC300点以下の問題を素早く解く
  • ABC全完する、ABC400点/AGC300点を安定して解く

水色 (1200 ≤ Rating 1600)

2019.1.12 AISingプロコン2019 到達 - 2019.6.9 ABC129 以前

  • ABC400点が安定してきて、ARC500点もだいぶ通せるようになった
  • DP・UnionFind・二分探索・剰余演算・繰り返し二分法・セグ木などの応用的なテクニックを少しずつ使えるようになってきた
  • Grundy数・XORなどの応用的な考察に慣れてきた
  • AGC032で冷えまくってレート未満のパフォを出してしまい始めてRatingが下がった
この帯から上がるための所感
  • 青パフォ(1600以上)、黄パフォ(2000以上)を取る
  • より高度な(2つ以上のひねりがある問題の)考察をする
  • グラフの取り扱いに慣れる
  • UnionFind・DP・Grundy数・任意の累積操作・行列演算などの競プロ特有の概念・テクニックを押さえる
  • (オプショナル) ライブラリを整備して、貼るだけ終了の典型問題に備える
  • ABC500点を安定して早く解く、AGCは2完以上する

青色 (1600 ≤ Rating < 2000)

2019.6.9 ABC129 到達 -

  • 黄色になれるかどうかはわかりませんがなりたいと思います
  • (その前に冷えて着水しそう、精進しろ)

PS 2019/6/28
冷えて着水しました