PR:この記事にはアフィリエイトリンクが含まれます。
AtCoderのA・B問題は通るのに、C問題で止まる。中級ではコード量よりも、制約から解法を絞り、知っている技法を使う判断が大事になります。
問題演習向けの本を探すとき、収録問題の数だけでは決められません。本ごとに、アルゴリズムの型を広く扱うか、数学や問題文の読み方を補うかに違いがあります。同じAtCoder対策でも、伸ばせる力は一様ではありません。
C++で典型技法を広く練習したい人と、PythonでPASTの問題を解きたい人では、演習で補いたい部分が違います。止まりやすい場面が分かると、5冊のうち必要な本も絞りやすくなりますよ。
5冊の早見表
まずは全体像から。対象レベル、言語、中心テーマを並べました。似た分野を扱う本でも、演習の進み方や解説の力点は本ごとに異なります。
| 書名 | 主な対象・言語 | 中心テーマ | 参考価格 |
|---|---|---|---|
競技プログラミングの鉄則 アルゴリズム力と思考力を高める77の技術 | 初心者〜1199程度・C++中心 | 77の技術、153問 | 3,718円(税込) |
アルゴリズム実技検定 公式テキスト[エントリー~中級編] | 初心者〜1199程度・Python | PASTの過去問、複数解法 | 3,828円(税込) |
問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本 | 初心者〜799程度・C++ | 数学と基本アルゴリズム、200問 | 2,948円(税込) |
問題解決力を鍛える!アルゴリズムとデータ構造 | 初心者〜1199程度・C++ | 設計技法、データ構造、グラフ | 3,300円(税込) |
アルゴリズム的思考力が身につく!プログラミングコンテストAtCoder入門 | 初心者〜1199程度・C++・Python3 | AtCoder過去問、計算量 | 3,520円(税込) |
価格は各出版社の定価を参考にした税込価格です。実売価格は販売店や時期によって変わります。
本の対象レベルは到達を保証するものではありません。扱う問題や解説と合わせて確認するための目安ですよ。
中級で問われる力
中級の壁は、問題文から解法を選ぶところにあります。入力規模や制約を見て、全探索で間に合うのか、計算量を落とす工夫が要るのか。そこを考える習慣が大事です。
たとえば、要素の合計を何度も尋ねる問題。毎回先頭から足す方法と累積和を使う方法では、処理時間が変わります。二分探索も手順を覚えるだけでは足りず、条件が単調に変化するかを見抜きたいところですね。
動的計画法では、状態と遷移をどう決めるかが悩みどころです。グラフ問題なら街や人の関係を頂点と辺に置き換える発想が必要。知識は問題の形と結びつけてこそ力になります。
解説を読めば分かっても、自力で再現できないことがあります。どの制約が方針を決め、どの工夫で計算量が減ったのかまで言葉にすると、似た問題にも応用しやすくなります。
典型技法の連携
一つの問題に複数の技法が登場することは珍しくありません。累積和で範囲の合計をすばやく求め、その値で条件を調べる。基本技法を組み合わせる経験が、中級問題の演習に役立ちます。
動的計画法では、小さな場合の答えから状態を考え、そこから遷移を組み立てます。初期値や遷移を明確にすれば、実装ミスや考え方の抜けにも気づけます。
グラフでは、問題文にあるつながりをどう表すかが肝心です。データ構造を学ぶと、探索や更新を効率よく行う道具が増えます。解法の選択肢も広がるでしょう。
どの技法でも、最後は制約と計算量の確認が欠かせません。見覚えのある単語だけで方針を決めず、入力が大きくても間に合うかを考える。この判断が、本番で典型問題を解く力につながります。
鉄則で技術を広げる
『競技プログラミングの鉄則 アルゴリズム力と思考力を高める77の技術』は、米田優峻さんによる2022年刊です。464ページのB5変判で、AtCoder初心者からレーティング1199程度までが対象。中級への橋渡しにも頼れる一冊です。
累積和、二分探索、動的計画法、データ構造、グラフ、ヒューリスティックなど全77の技術を扱います。演習153問はすべて自動採点に対応し、320点を超えるフルカラー図が考え方を視覚的に伝えます。
紙面のコードはC++が中心です。出版社のサポート情報にはC++・Python・Javaのコード例もあるので、別言語で解く人も参照しやすいでしょう。中級の典型を幅広く練習したいC++学習者には、最初の一冊としておすすめです。参考価格は3,718円(税込)。
PythonでPASTに挑む
『アルゴリズム実技検定 公式テキスト[エントリー~中級編]』は、AtCoder株式会社と高橋直大さんが監修した2021年刊です。384ページのB5変判で、Pythonを使い、PASTのエントリーから中級まで順に取り組めます。
AtCoderやPASTの過去問を題材に、問題文の読み解きと解答方針を扱います。一つの問題に複数の解法を示し、計算量を踏まえた改善まで解説。解法の効率も考えたい人におすすめです。
Pythonで競技プログラミングを始め、問題の読み方から練習する人には、この本をすすめます。PASTの段階に合わせて演習できます。参考価格は3,828円(税込)で、実売価格は時期や店によって変わります。
数学の基礎を補う
『問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本』は、米田優峻さんによる2021年刊のC++本です。288ページのB5変形判で、数学が苦手な初心者からAtCoderレーティング799程度までを対象にしています。
中学レベルから大学教養レベルまでの数学を、基本・発展アルゴリズムと結びつけて扱います。数学的な考察に慣れたい人にとって、競プロで必要な知識の背景から確認できるのが強みです。
例題と演習問題は合わせて200問。数学の考察に苦手意識がある人は、この本で弱点を補えます。ほかの本より対象レベルは初級寄りですが、数学面を重点的に学ぶ本として選ぶ理由は明確です。参考価格は2,948円(税込)。
設計技法を体系化
『問題解決力を鍛える!アルゴリズムとデータ構造』は、大槻兼資さん著、秋葉拓哉さん監修の2020年刊です。368ページのA5判で、C++を使って学びます。対象はAtCoder初心者からレーティング1199程度まで。
全探索、再帰・分割統治、動的計画法、二分探索、貪欲法に加え、データ構造やグラフアルゴリズムも扱います。前半で設計技法を詳しく学び、後半のデータ構造やグラフの章で応用する構成です。
AtCoderの問題を例題・演習に使い、解法の組み立て方を掘り下げたい人に合います。解法の名前と方針を選ぶ理由まで学びたいC++学習者には、この本がおすすめです。参考価格は3,300円(税込)。実売価格は時期や店舗で変わります。
AtCoder参加の入口
『アルゴリズム的思考力が身につく!プログラミングコンテストAtCoder入門』は、大槻兼資さん著、AtCoder株式会社監修の2022年刊です。336ページのA5判で、C++とPython3に対応。初心者からレーティング1199程度までを対象にしています。
AtCoderの始め方から初級・中級の典型問題まで、コンテストの過去問を通じて解説します。計算量や上級アルゴリズムにも触れているため、参加を始める段階から、その先の学習テーマまで見渡せます。
C++かPython3でAtCoderの問題を始める人には、この本をおすすめします。問題ごとに解法の考え方を説明し、例題の解答例をダウンロードできます。参考価格は3,520円(税込)。公開コンテストの演習へ進む前の足場にもなります。
結論
AtCoderの中級典型を幅広く練習するC++の一冊なら、『競技プログラミングの鉄則』を第一候補にしてください。技術の幅広さに加えて自動採点対応の153問があり、学んだ手法をコードで確かめやすい構成です。
Pythonを軸に学ぶ人にはPAST公式テキスト、数学的な考察が弱点の人には「アルゴリズム×数学」をおすすめします。解法設計を深く学ぶC++学習者には『問題解決力を鍛える!アルゴリズムとデータ構造』、AtCoder参加から始める人には『AtCoder入門』が合います。
参考価格は定価の目安で、販売価格は店や時期によって変わります。自分が止まりやすい場面に合う一冊を選び、解法の理由まで説明できるようになれば、中級への距離を着実に縮めていけます。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。

![アルゴリズム実技検定 公式テキスト[エントリー~中級編]](https://m.media-amazon.com/images/I/51H69psKjdL._SL500_.jpg)




