AtCoderで水色になったのでここまでの記録をまとめる
AtCoderで水色になった
ようやくAtCoderでRatingが水色になったのでここまでの記録をまとめておきます。こういった記事は山のようにありますが、リアルタイムな情報にも少しは価値があるかと思うので書きます。自分自身の振り返りの意味も込めて。
途中で一年ほど院試や卒論のためにAtCoderから離れていたのでどれぐらいかかったかは何とも言い難いです。かかった期間などに関しては以下の図を参考にしてください。
簡単に自分自身の経歴や属性をまとめると、
- NAISTの修士課程2年で、バイオインフォマティクスの研究に取り組んでいる
- 学部は農学部で、プログラミングや情報系の勉強は独学で少ししていた
- 基本情報と応用情報の資格持ち(競技プログラミングにはほぼ関係ない)
- 昔からパズルっぽいことは好きで数学も好きな方だが得意かは微妙…
- 言語はPythonを使っています
解いた問題や勉強した本など
AtCoder以外の競技プログラミングサイトの問題はほとんど解いていないので、これまでに解いた競技プログラミングの問題は以下のように1000問程度です。基本的には、AtCoder ProblemsでのDifficultyが簡単な問題からその時のRatingの色の問題までの中から解いていない問題を適当に選んで解いています。
2021年の2月頃から毎日AtCoderの過去問を解くことを習慣化したのですが、先日Streakが途切れてしまって少し凹んでおります😭
本に関しては以下の3冊を持っています。通しで読むというよりは、必要な箇所や興味がある箇所をテーマごとに読むことが多いです。どれも説明する必要がないぐらい有名な本なので中身に関しては言及しませんが、上から順に読むと理解しやすいように思います。もしかしたら『問題解決力を鍛える!アルゴリズムとデータ構造』を先に読んだ方がいいかも。
使えるアルゴリズムやデータ構造
これまでに使ったことがあるアルゴリズムやデータ構造は、全探索、幅優先探索、深さ優先探索、二分探索、動的計画法、ダイクストラ法、ワーシャルフロイド法、クラスカル法、累積和、いもす法、エラトステネスのふるいなど、逆元を使ったいろいろ、UnionFind。使ったことがあるといってもどこまで理解できていて使いこなせるかはそれぞれですが、ざっくりとこんな感じです。
半分全列挙、ダブリング、Binary Indexed Tree(BIT)、セグメント木は過去問を解くときに使ったことがあるけど、コンテスト本番ではまだ使ったことがないような…。
これから
もうちょっとRatingを上げたいなあという気持ちがあるので、これからしていくことをメモしておきます。
- 毎週のコンテストにはできるだけ参加する(今まではABCを中心に参加してきたが、そろそろARCにも出ようと思う)
- まだまだ知らないアルゴリズムやテクニックがあるので過去問を解きながら勉強する
- 問題演習が不足しそうだったらAtCoder以外のコンテストに参加してみる
2022年の3月に黄色になれていたら嬉しいけどさすがに厳しい気もします。最低でも青色にはなれていたらいいなあ!
Discussion