AtCoderアルゴで入青した話

 

はじめに

私事ですが、先日行われた大和証券プログラミングコンテスト2022 Autumn(ABC277)にて念願の入青を達成しました!

 

 

本記事では、私がプログラミング経験が完全に0の状態から競プロを始めて、入青に至るまでにやったことをまとめます。今後入青を目指す方にとっての勉強指針の一例にでもなれば幸いです。(参考になるかはわかりませんが…)

 

経歴

まず、私自身の情報について軽く紹介しておきますと、2022年11月現在、地方国立大の理学部数学・情報系の3年生です。

大学入学時(2020年3月末)に友人からの誘いで競プロを始めましたが、当時はプログラミングを一切触ったことのない全くの初心者でした。そこからはなんやかんやコツコツと勉強して、最初の画像の通りじわじわとレートを積み重ねていきました。

 

基本的にやるべきこと

単刀直入に言えば、とにかく問題を解きまくることが何よりも大切です。

私の精進グラフを見てもらうと一目瞭然かと思いますが、問題は解けば解くほどレートが上がります。(2022年4月頃にはABCの過去問の青diff以下を埋め終わってしまい精進グラフが伸び辛くなってしまっていますが、典型90、PAST過去問、その他コンテストの問題等精進グラフに反映されない問題を解いています。)

精進グラフ

過去問演習には AtCoder Problems が便利です。(ABCの)自分の1つ上の色の問題以下は全部解いてやる!くらいの気持ちで臨みましょう。(もちろん、もっと難しい問題を頑張るのが楽しいのであればそれもいいと思います。)

ここで、「問題を解けと言われても、そもそも解けなくて困ってるんだよ…」と思われる方がいるかもしれませんが、その場合は躊躇わずに解説を読みましょう。知らないアルゴリズムや考察テクニックを一から思いつくのは不可能なので、ある程度考えて「これは解けそうにない」と感じればすぐに解説を読んでしまってよいと思います。そうやって知識を身につけていくうちに、段々と「これは典型で…」の一言で多くの問題が解けるようになっていきます。

また、解説を読んでも理解できない場合もあるかもしれません。公式解説やユーザー解説、解説放送などどれを見てもわからずに詰まったときは、勇気を持って諦めてしまうのも大切です。これはどんな勉強にも共通して言えることなのですが、そのときわからなくてもそのうち戻ってきたらわかるようになっていることって結構あります。基礎的な能力が向上してるんですかね?

 

体系的に学ぶこと

先述のとにかく数をこなせ論は所謂パワープレーで、(実装力や考察能力といった)基礎能力を伸ばしたうえで典型知識を増やせる代わりに、どうしても時間がかかってしまうという側面があります。そこで、効率を重視したいのであれば、典型90やdpまとめコン、あるいは蟻本や最近発売された鉄則本といった教育用に作られたコンテンツを過去問演習と併用していくのもよいと思います。

 

まあいずれにせよ数をこなすべきだというところは変わらないので、やりたいようにやりましょう。楽しくいっぱい学ぶのが一番です。

 

その他私がやっていたこと

これまではこれと言った個性のない「まあ大体の人はそれをやってるよね」という内容を書いていたので、ここからは私がやっていたちょっと個性のありそうなことを紹介します。参考になるかは不明です。

 

競プロゼミ

緑初期~水初期の約1年間、大学で(競プロ経験のない)友人数人とつよつよの先輩を誘って、競プロの自主ゼミを開いていました。

活動内容としては、毎週のABCの解説と類題の提示、余った時間で典型問題の紹介等で、毎週毎週A4のノート6ページ分くらいを用意してました。色々な解説を読んで、別解を実装してみて、思考の流れを言語化して…そのようなことを半強制的に行う場を設けたことで、頭の中の乱雑した典型知識をがっちりと整理できたような気がします。

組合せ論ゼミ

競プロゼミを始めた1か月後くらいから始めた自主ゼミで、今も続けています。

前提として、私はセンター数学で6割5分すらとれない程度のそこそこな数弱です。なので、ABCでも頻出な数学問題に手も足も出ないような状態でした。

そこで、特に数え上げ問題が解けるようになりたい!と思い立ち数強の友人に「組合せ論のゼミ開いてくれ!」と頼んだ結果、色々あって私が主催することになりました。(どうして…)

まあ、なんやかんや「数学書を読む習慣」が身につくことで難解な暖色diffの解説が少しずつ読めるようになってきている気がするので、効果はそこそこあるのかもしれません。

 

おわりに

約2年半競プロに打ち込んで、どれだけ平凡でも努力さえすれば意外となんとかなることがわかりました。正直競プロを始めた1年生の頃は緑色にすらなれる気がしなかったので、こうして3年生で青色になれた感動は筆舌しがたいです。

大学生活はあと1年ですが、どこまで精進できるでしょうか…。暖色への道のりはこれまでに比べてより一層険しくなるとは思いますが、少しずつ少しずつ積み重ねていきたいと思います。