AtCoder青コーダーになりました
始めまして、競技プログラミングをしていますFlkanjinといいます。
1/23のABC189でAtCoderのレートが1668となり入青しました。
やったー青だー
— 朢月寬仁/Shota Kan/Flkanjin/Shou T. Kay (@Kantendo_64) 2021年1月23日
FlkanjinさんのAtCoder Beginner Contest 189での成績:138位
パフォーマンス:2375相当
レーティング:1554→1668 (+114) :)
Highestを更新し、2 級になりました!#AtCoder #ABC189 https://t.co/44CduIHfhE pic.twitter.com/Lcf2kzrydh
もともと色変したらブログをはじめて色変記事を書こうと思っていたのですが、色変したタイミングが大学の期末試験の直前だったので、1週間たった今記事を書いています。
0. 競技プログラミングを始めるまで
中学生の時からプログラミングに興味があり、いつか始めたいなぁ...と思っていたら、高校で仲良くなったクラスメートにプログラミングのできる子がいて、1年生から2年生になる春休み前にその子に教えてほしいと頼んだのが、プログラミングを始めるきっかけでした。C++をある程度教えてもらった後5月頃にAtCoderについて教えてもらい、参加するようになりました。
1. 緑色になるまで
今と違いAtCoderの人口が多くなく、今ほど要求される知識がなかったことと、ある程度言語を習得してから参加したことにより、あまりアルゴリズムの知識をつけることもなく緑になっています。もしかしたら、数学が得意だったのもあるかもしれません。あまりこの時期についてはあまり書けることがありませんし、今から始めるという人はあまり参考にならないかもしれません...。一応AOJに登録して螺旋本を買って勉強は少しはしましたが、計算量についてはそこまで意識していませんでした(アルゴリズムが分からないので意識したところで解法が思いつかない...という感じでした)。
一応この時に習得したアルゴリズムとしては
- 尺取り法
- 累積和、imos法
- DFS、BFS
- bit全探索
- 二分探索
- DPについて少し
が挙げられます。
このときJOIに出ましたが、後1問のところで予選敗退でした。余談ですが、JOI予選は修学旅行の前日でした。
3年生になった時に受験勉強に専念するために競プロからしばらく離れることにしました。
2. 競プロ復帰から水色になるまで
受験に失敗して1年浪人したのち、無事に大学に受かり入学しましたが、4, 5月はまだ競プロに復帰していませんでした。大学で同じクラスになった子が競プロを始めるという話をしていたので復帰しようと思い、6月にAtCoderに戻ってきました。久しぶりのコンテストでレートが下がらず、また高校の時と違って時間に余裕ができて段々とのめり込むことになりました。
ここから螺旋本を読み直してAOJの問題を解いたり蟻本を購入しちゃんと勉強するようになり、また高校の時は家族共用のPCだったのでライブラリを作っていなかったのですが、マイPCを持つようになって、ちゃんとライブラリをつくり、整理するようになり、この時は
- Union-Find
- 行列
- 2次元幾何
- グラフの最短路(Bellman-Ford, Dijkstra*1, Warshall-Floyd)
- 最小全域木(Prim, Kruskal)
- 順列、組み合わせ、冪乗、逆元の計算
のライブラリを作りました。
アルゴリズムとしてはそれまでほんのちょっとしか理解できておらず、苦手意識のあったDPについてEDPCで少し勉強して区間DPやbitDPができるようになりました。
また、この時Codeforcesに登録し3回コンテストに出ましたが、日本だと深夜となることが多くあまり参加できていません。
また、2回生になってから大学のコンピュータ系サークルに所属し、競プロ練習会に参加するようになりました。
3. 青色になるまで
水色に上がってからはレート1400附近で少し停滞した後、1574まで上がった後1450附近まで落ち、少し停滞したのち、徐々にレートが上がっていった後、ABC189で初の黄パフォを出して青に上がることができました。
実は速解きするべき問題で悩んでしまったり、A問題でつまらないミスでWAを出して焦ってしまってなかなかレートが伸び悩んだりすることがありました。それでも継続は力なりと思って参加し続けているうちに、そういった事は少なくなってきたように感じます。また、何回も出ることによって、自分の知らない知識や考え方を知ることができ、それがレートの上昇につながったのだと思います。
4. これから
今度は黄色を目指していきたいと思います。黄色になればABCがUnratedになりますね。勿論簡単な事ではないので時間はかかると思いますし、そもそもできないかもしれない...それでも努力は報われると信じて精進していきます。
また、これまではあまり界隈の人々とのつながりがありませんでした。これからは交友の輪を広げ、様々な知識を吸収していきたいなと思います。