目次
- 2 基礎からスタート!一初級編
- 全探索
- 再帰関数
- スタック
- キュー
- 深さ優先探索
- 幅優先探索
- 特殊な状態の列挙
- 枝刈り
- 貪欲法
- 硬貨の問題
- 区間の問題
- p.43 区間スケジューリング
- 辞書順最小の問題
- その他の例題
- 動的計画法
- 探索のメモ化と動的計画法
- 漸化式を工夫する
- 計算問題に対するDP
- データ構造
- グラフ
- 数学的な問題を解くコツ
- ユークリッドの互除法
- 素数に関する基本的なアルゴリズム
- 余りの計算
- べき乗を高速に計算する 3 ここで差がつく!一中級編
- 全探索
- ニ分探索
- ソート列から値を探す
- 解を仮定し可能か判定
- 最小値の最大化
- 平均最大化
- 頻出テクニック
- データ構造
- 動的計画法を極める!
- ネットワークフロー
- 計算幾何
- 平面走査
- 凸包
- 数値積分
- さらに極める!一上級編
column
- スタック領域とヒープ領域
- 食欲法のアルゴリズムの証明
- ハフマン符号
- memsetによる初期化
- 全探索の書き方
- 初期化忘れに注意
- いろいろなDP
- DPにおける配列の再利用
- lower bound
- 平衡二分木
- 証明や法則などについて
- 二分探索の収束判定
- 集合の整数表現
- Sparse Table RMQ
- 領域木
- 完全マッチングの個数
- もっと高速な漸化式の計算
- さまざまなグラフに対する最大流
- 高速な最大流アルゴリズム
- さまざまなグラフに対する最小費用流
- 線形計画問題
- 計算誤差
- 整数計画問題
- 文字列DPのより高速な前処理
- 多倍長演算