目次
- 本書を読むにあたって
- はじめに
第1章 競技プログラミングって楽しいよ!
- 競技プログラミングとは?
- いろいろな大会
- コラム:競技プログラミングはネトゲである
第2章 簡単な問題を解いてみよう
- 例題:コラッツ予想
- 問題の読み方
- 実際に解いてみよう
- 例題:ゴールドバッハの予想
- 練習問題
- 練習問題の解答
- コラム:作業を自動化する
第3章 探索
- 深さ優先探索と幅優先探索
- 深さ優先探索の例題:テトラベックス
- 幅優先探索の例題:ブレイブ・フォース・ストーリー
- 練習問題
- 練習問題の解答
- コラム:競技プログラミングと実務プログラミングの関連性は?
第4章 動的計画法
- 動的計画法
- 例題:計算を復元せよ
- 例題:双子の読書感想文
- 練習問題
- 練習問題の解答
- コラム:定数倍の高速化はあまり意味が無い
第5章 グラフ
- グラフとは?
- グラフのC++による実装
- ダイクストラ法
- 例題:お姫様の危機
- 例題:勇敢なお姫様またも現る
- 練習問題
- 練習問題の解答
- コラム:競技用プログラマーのコードは汚い?
第6章 幾何
- 幾何であらわれる様々な要素
- 例題:不死の宝玉
- 例題:Turn Polygons
- 練習問題
- 練習問題の解答
- コラム:社会人から始める競技プログラミング