自己紹介
初めまして、dirardと申します。
普段は都内の企業でエンジニアとして働いております。
業務ではPythonを使うことが多いですが、使えるとかっこ良さそう!!という理由だけでAtCoderではC++を使っています。
今回はAtCoderという競技プログラミングのコンテスト(ABC, AtCoder Biginner Contest)に参加して入茶するまでにしてきたことを備忘録がてらまとめてみようと思います。
※調子にのって蟻本を買うも1日で挫折した経験あり…。
開始時期~色変時期
- 開始時期:2022/9/10のABC268
- 入茶時期:2022/11/5のABC276
開始してから毎週欠かさずABCに参加して、9回目で入茶に成功!(正直もっとかかると思っていました)
やったこと
私は業務でプログラムを書いてはいますが、始めるまでは
- 競プロってなんやねん!
- どうせ業務で使わなさそう…。
- 凡人には楽しむ余地もなさそう…。
- 始めるにしてもなにからやればよいのかさっぱりわからない…。
と思っていました。
そんな時、Amazonのおすすめ商品に『問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本』が出てきました。
Amazon
難しいアルゴリズムはさっぱりわかっていませんでしたが、試し読みで分かりやすそうだったし興味はあったので購入!
読み始めたのは2022/8末頃だったかと思います。
数学は学生時代に多少触れていたこともあり特に詰まらず読み進められました。アルゴリズムに関してもわかりやすい図があり理解することができました。
本も読んだしコンテストにも参加してみるか~と思い参加したデビュー戦(ABC268)、結果はAB2完のperf266…ムズイ…C問題わからない…でした。
戦うためにはまだ強くならねば…何をしようか…と思っていた時に現れたのが、『競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~』でした。
この本は『問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本』と同じ著者により2022/9/16に出版された新しい激熱な本です。
前著で分かりやすいのは知っていたので、Amazonで即予約!(結局は発送が遅れそうだったので書店でGet!)
この本は問題→解説→コード(解答例)という流れが繰り返されており、一話完結の物語のように隙間にちょこちょこ読むことができました。(必要なところのみ読むということもしやすい)
この本(鉄則本)を始めてから、アルゴリズム・計算量・競プロにおける数学的考察について真面目に考えられるようになった気がします。
全くの初心者状態で鉄則本は個人的にはハードルが高いので前著を読んでから鉄則本に出合えてよかったと思います。
以下はAtCoder ProblemsのDaily Effortですが、ほぼ過去問は解くことなく(ABSの10問は解きました)茶色まで到達することができました。
まとめ
- 全くの初心者→アルゴ数学本で雰囲気を知る
- 鉄則本でアルゴリズムにちょっと深く触れる
- 毎日コツコツ頑張る
- 毎週ABCに参加する
- 上記で入茶は可能
- ABSくらいは触れておいて損はない
私自身は次は入緑目指して頑張っていこうと思います!
拙い文章で恐縮ですが読んでいただけた方ありがとうございました。
競プロerの知り合い等いないので仲良くしてくださる方がいらっしゃると泣いて喜びます。