Syleir’s note

2020.4.1より統計検定やE資格の勉強の進捗を報告しています。統計検定準1級、E資格、G検定取得しました!当ブログへのリンクはご自由にどうぞ。

MENU

【AtCoder】Boot Camp for Beginners を完走しました。【所要時間3年】

はじめに

最近はAtCoderという競技プログラミングサイトで遊んでいます。AtCoderは豊富に過去問があり、それらがまとまっているAtCoder Problemsというサイトにお世話になっています。AtCoder ProblemsのサービスとにはBoot Camp for Beginnersという、AtCoderの教育的な過去問を解くことができるサービスがあります。全300問で100問ごとにEasy、Normal、Hardと難易度が別れており、それぞれ灰、茶、緑diffが中心の問題となり、Hardの後半から水diffが混ざってきます。

今日はこれを完走したよ!というお話です。

Boot Camp for Beginners のレベル感

Easyの前半はプログラミングを始めたばかりでも解ける問題が多いですが、Hardの後半は1日1問解くのも結構しんどくて、ずっと解けない問題もありました。長く考えていると解法が湧いてきたりして初めて見てから3ヶ月経ってから正解したような問題もあります。

 

最初の方は文字列操作が多かった印象ですが、後半は幅優先探索や二分探索、かなり考察が必要な数学問も増えてきて解き応えがかなりありました。

 

完走までの期間、レーティング推移


 

実は完走までには3年弱経過しています。最初にこの問題セットに取り掛かったのは2019年9月で、現在は2022年6月になってしまいました。2019年の時は精進といえばBoot Camp for Beginnersだったような気がしているのですが、時が経つに連れてみなさんは競プロ典型 90 問などで勉強しているようで、時代の波に取り残されてしまったなあという浦島太郎感を味わっています。

最初のAC

現代、AtCoder参加者のレベルがインフレしているような指摘もありますが、現在でも通用するような良問が入ったセットで、だんだん難しくなっていく様も勉強していてかなり役立ち、自分の解けるギリギリの問題が出題され続けるのも非常によかったです。

精進を始めた頃はレートも353でしたが、現在は1070と順調に(?)上昇しており、かなりレーティング上昇に寄与していると実感しています。Boot Camp for Beginnersを始めてからパフォーマンスの下界が上がったような感じで、コンテストで大失敗することもなくなり、平均パフォーマンスもかなり上昇してきました。ABCのA-D問題で使うかなりの手法を学べるので、早く解く練習にもなり、漏れなく勉強できるのでおすすめです。

 

解くのに必要なアルゴリズム

解くのに必要なアルゴリズムはそんなに多くなく

・初歩的なDP
・尺取り法
・二分探索
・全探索、Bit全探索
幅優先探索深さ優先探索
・累積和

くらいです。PAST本でいうと第6章くらいまでの知識で十分です。実装がわからない時はPAST本を頼りに実装していました。特に実装面で困ったことはないので、これで勉強しながら解き進めるのが良い気がしています。この本はめちゃめちゃコードが読みやすくて勉強になります。おすすめです。

今後について

AtCoderを始めたばかりの3年前からずっと水色(Rating1200)になるのが目標なのでゆっくりですが継続して勉強していきたいです。色々な都合でコンテストには出られないことが多いんですが、勉強を継続していれば少しずつ自分の実力が上がってきて将来のコンテストでいい結果を残せると信じて、今後も引退しないように少しずつ継続して勉強していきたいです。水色になれるまでやめなければ水色にはなれると思っています。

今後は蟻本での勉強を考えています。これはかなり難しくハードルが高いのですが少しずつ継続して頑張ります。