"競プロ" で必要なテクニックを1冊に凝縮!
競技プログラミング(競プロ)は、問題を解くことでプログラミング能力を競う大会です。本書では、競プロで必要なアルゴリズム・データ構造・考察テクニックを丁寧に解説します。さらに、知識を定着させるための例題・演習問題が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章 総合問題
終章 さらに上達するには
米田 優峻(よねだ まさたか):
2002年生まれ。2021年に筑波大学附属駒場高等学校を卒業し、現在東京大学に所属。競技プログラミングでは「E869120」として活躍。2020年までに国際情報オリンピック(IOI)で3度の金メダルを獲得したほか、世界最大級のオンラインコンテスト「AtCoder」でも最高ランクである赤色の称号を持っている。また、Qiitaで多数の記事を投稿したり、競技プログラミングの中上級者向け問題集「競プロ典型90 問」を作成するなど、アルゴリズムや競技プログラミングの普及活動も行っている。著書に『問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本』(技術評論社)がある。