競技プログラミングの鉄則の表紙

競技プログラミングの鉄則(キョウギプログラミングノテッソク)

アルゴリズム力と思考力を高める 77 の技術

著者:
米田優峻(ヨネダ マサタカ)
出版社:
マイナビ出版
出版日:
2022年09月16日頃
ISBN:
9784839977504
在庫:
在庫あり
★★★★★5(5 件)
中級者向け
アルゴリズムデータ構造競技プログラミング動的計画法二分探索数学的問題グラフアルゴリズムヒューリスティック最適化考察テクニック演習問題

なぜ注目されているか

言及数
15
総合
17
1 ランクアップ77 件の言及
出版前出版日071320222023202420252026

書籍紹介

競技プログラミング (競プロ) は、問題を解くことでプログラミング能力を競う大会です。本書では、競プロで必要なアルゴリズム・データ構造・考察テクニックを丁寧に解説します。さらに、知識を定着させるための例題・演習問題が 150 問以上掲載されています。
本書は、競プロのコンテストで勝ちたい、アルゴリズムを本格的に学びたい、技術力向上に繋げたいなど、様々な目的で利用できるものとなっています。

[本書の特徴]

・競プロで必要な 77 個のテクニックを網羅

・ 320 点超のフルカラーの図でわかりやすく解説

・知識を身に付ける演習問題 153 問

・全問題が「自動採点システム」に対応

・新傾向の「ヒューリスティック・最適化」も解説

[本書の構成]

序章 競技プログラミング入門

第 1 章 アルゴリズムと計算量

第 2 章 累積和

第 3 章 二分探索

第 4 章 動的計画法

第 5 章 数学的問題

第 6 章 考察テクニック

第 7 章 ヒューリスティック

第 8 章 データ構造とクエリ処理

第 9 章 グラフアルゴリズム

第 10 章 総合問題

終章 さらに上達するには

[本書で扱うトピック (抜粋) ]

全探索/ 2 進法/一次元の累積和/二次元の累積和/配列の二分探索/答えで二分探索/しゃくとり法/半分全列挙/部分和問題/ナップザック問題/ビット DP /最長増加部分列問題/素数判定法/ユークリッドの互除法/繰り返し二乗法/包除原理/ゲーム問題/偶奇を考える/一手先を考える/後ろから考える/山登り法/焼きなまし法/ビームサーチ/スタックキュー/優先度付きキュー/連想配列/文字列のハッシュ/ダブリング/セグメント木/深さ優先探索/幅優先探索/ダイクストラ法/ Union-Find /最小全域木問題/最大フロー問題/二部マッチング問題/ほか多数

序章 競技プログラミング入門

第 1 章 アルゴリズムと計算量

第 2 章 累積和

第 3 章 二分探索

第 4 章 動的計画法

第 5 章 数学的問題

第 6 章 考察テクニック

第 7 章 ヒューリスティック

第 8 章 データ構造とクエリ処理

第 9 章 グラフアルゴリズム

第 10 章 総合問題

終章 さらに上達するには

技書の森解説

AtCoder で問題を解き始めたものの、ある難易度帯で壁にぶつかって伸び悩む。競技プログラミングではこの停滞を「色の壁」と呼びますが、多くの場合その原因は知識の穴です。本書は AtCoder で赤コーダー (レーティング最上位帯) として知られる著者 E869120 (米田優峻) が、競プロに必要なアルゴリズムと思考法を 77 の技術として体系的に整理したものです。

全探索、動的計画法、グラフ、数学的考察、ヒューリスティックまで幅広い領域をカバーしつつ、各技術には対応する練習問題が AtCoder 上に用意されており、読んだ直後に手を動かして定着させる設計になっています。「蟻本」 (プログラミングコンテストチャレンジブック) と比べると、より段階的に難易度が上がる構成で、灰色〜緑色帯のプレイヤーが水色以上を目指すときの地図として機能します。

注意すべきは、本書は「問題をどう解くか」の思考過程を重視しているため、言語の文法やライブラリの使い方は前提知識として要求される点です。少なくとも C++Python で基本的な入出力やデータ構造を扱える状態で読み始めると、学習効率が最大化されます。アルゴリズム力を底上げしたい学生やエンジニアにとって、手元に置いて繰り返し参照する実用書です。

言及 Qiita 記事 (65 件)

言及 Zenn 記事 (4 件)

この本に興味がある方におすすめ

この本に関連

米田優峻 の他の書籍

関連記事

関連用語

共有:Xはてブ