AtCoder の鍛錬では、ウェブや本などでアルゴリズムを学ぶことも必要ですが、それ以上に問題を実際に解くことは重要です。あるテーマに沿って集められた問題の集まりを問題セットと呼ぶことにします。この記事では AtCoder に関する主な問題セットをまとめてみたいと思います。
学習用問題セットと演習用問題セット
問題セットを大別すると、学習用問題セットと演習用問題セットに分けられます。
学習用問題セットとは、その名の通りある領域を学習することを目的にしており、あらかじめどのようなアルゴリズムを身につけるべきかがわかっていることが多いです。学習者はあらかじめアルゴリズムを学習しておくことで、その分野を効率的に学習することが可能になります。
これに対して演習用問題セットとは、どのようなアルゴリズムを使えば良いかがわからない状態で問題に取り組むことで、実践的な解法を身につけることを目的としています。AtCoder の ABC や ARC の過去問は、まさに演習用の問題セットです。
学習用問題セット
それでは学習用問題セットの例を挙げていきます。
AtCoder に登録したら次にやること
(おそらく)最も有名な問題セットです。まずはここに紹介されている10問を解くことで、AtCoderの雰囲気と、初級者に求められるスキルを学ぶことが出来ます。
AtCoder 版!蟻本 (初級編)
プログラムコンテストの教科書として有名な「プログラミングコンテストチャレンジブック [第2版] (通称 蟻本)」がカバーしている内容を、AtCoder などの過去問によって習得するための問題セットです。蟻本ありきに記述もありますが、蟻本を持っていなくても学習可能な内容になっています。初級編以外にも、中級編、上級編、発展的トピック編が用意されています。
Educational DP Contest
DP (動的計画法) の習得を目的としたコンテストの過去問です。DP を用いて解く問題が26問用意されています。
レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】
単なる問題セットだけではなく、AtCoderとは何かから始まり、どうやって参加するか、どうやって学習するか、などが総合的に紹介されています。2021年に公開されたため、AtCoderの最近の出題傾向に沿っているように思います。初級編では茶色コーダー、中級編では水色コーダー、上級編では橙色コーダーになることを目標としています。
演習用問題セット
AtCoder Problems Boot-camp for Beginners
AtCoder Problems は、AtCoder の過去問を学習するためのさまざまなデータを表示分析するサイトです。Beginners 向けの問題セットとして、Boot-camp for Beginners が掲載されています。問題セットには Easy, Midium, Hard の3段階があり、各100問ずつが紹介されています。
なお、AtCoder Problems では、有志が作った問題セットを解くことも可能です。
競プロ典型 90 問
AtCoderの典型問題を習得するための問題セットで、オリジナル問題が掲載されています。
#まとめ
AtCoder の鍛錬で有用な問題セットをまとめました。何かの参考になればうれしいです。