Q1: アルゴリズムや競技プログラミングに興味はありますが、何から始めたらいいですか?
A1: 入門者、初心者向けの教材や記事を読んでみましょう。AtCoderアカウントを登録し、コンテスト参加前に練習問題を解くことをおすすめします。詳しくは、公式チュートリアルをご参照ください。
プログラミングの基礎を学ぶ
-
C++入門 AtCoder Programming Guide for beginners (APG4b) - 公式が提供する汎用的なプログラミングの基礎を学ぶための入門教材です。また、知識の定着を図るための練習問題と自分で書いたプログラムを自動で採点してくれるシステムがあるのが大きな特徴です。また、公式や有志により、複数の言語で同等の内容の教材が作成・公開されています。
-
アルゴ式 - プログラミングを道具として利用しながら、論理的思考力やコーディング力を身につけることができるWebサービスです。公式アカウントも用意されています。
参考
サービスを利用する前に、作者によるサービス開始の理由とアルゴリズムを学ぶ意義について書かれた記事を一読されることをお勧めします。
AtCoderアカウントの登録〜コンテスト参加
- 競技プログラミングことはじめ - 競技プログラミングに関連する教育コンテンツを多数作成されているE869120さんのスライドです。基本的な説明から、コンテストサイトAtCoderの登録方法・問題の解き方・求められるスキルなどが紹介されています。
- 【初心者向け】AtCoder Beginner Contestの取り組み方 - AtCoderアカウントの作成方法からコンテストの参加登録・問題の取り組み方と注意事項、コンテスト後の復習までの流れを丁寧に解説した記事です。
-
AtCoderに登録したら次にやること ~ これだけ解けば十分闘える!過去問精選10問 ~ - AtCoderのコンテストに初めて参加する方に向けた精選10問を紹介した記事です。さまざまな言語による解答例のリンクなどの資料も充実しています。
注意
記事に掲載されているコードが最新のジャッジシステムで動作しない場合もあります
-
競プロの問題文、言葉遣いについて - 競技プログラミングの初心者に向けて、問題文・言葉遣いを解釈する方法が紹介されている記事です。
練習で実力を伸ばす
- APG4bからAtCoderを始めた人向けの導線 - 公式が提供するプログラミングの入門教材C++入門 AtCoder Programming Guide for beginners (通称APG4b)の概説と、APG4bをある程度学習した人に向けた基本的な練習方法やTipsが紹介されている記事です。
- AtCoderの練習方法 - AtCoderの公式ブログで紹介されている練習方法です。上達のために、問題を多く解く方法や典型的なアルゴリズムを学ぶ方法が説明されています。
- AtCoderでの勉強の仕方(コンテスト編) - AtCoder社長のchokudaiさんによる記事です。プログラミングコンテストの参加を通して、アルゴリズムの学習を継続的に行う方法が解説されています。
- AtCoder Daily Training - AtCoder公式が提供を予定しているAtCoder Beginner Contestの練習用バーチャルコンテストです(コンテストに仮想的に参加できる機能)。過去に出題された問題を対象として、複数の難易度・日時から選択して参加できます。
-
AtCoder Problems - コンテストの過去問を一覧できるWebアプリです。登録したアカウント名を入力すると、問題の正誤状況や各種集計結果などを確認できます。詳しくは、以下のドキュメント・記事をご覧ください。
- User Guide - 同サービスで提供されているドキュメント(日本語)です。
- AtCoder Problemsの使い方(AtCoder Problemsを知らない人向け) - 有志が使い方を解説した記事です。
注意
記事に掲載されている図やバーチャルコンテストの名称・内容は、最新情報と異なる場合もあリます。
-
レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 - 初心者に向けて競技プログラミングの特徴・面白さ、アカウントの登録方法やレーティングの説明がされている記事です。さらに、上達するためのガイドラインが丁寧に解説されています。