プログラミングコンテストチャレンジブック
https://gyazo.com/60679569ff163799c034ed061a0bf503
プログラミングコンテストチャレンジブック ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ 目次
2 基礎からスタート!一初級編
全探索
再帰関数
スタック
キュー
深さ優先探索
幅優先探索
特殊な状態の列挙
枝刈り
貪欲法
硬貨の問題
区間の問題
辞書順最小の問題
その他の例題
動的計画法
探索のメモ化と動的計画法
漸化式を工夫する
計算問題に対するDP
データ構造
木·二分木
プライオリティキューとヒープ
グラフ
グラフの表現
グラフの探索
応用問題
数学的な問題を解くコツ
素数に関する基本的なアルゴリズム
余りの計算
べき乗を高速に計算する
3 ここで差がつく!一中級編
ソート列から値を探す
解を仮定し可能か判定
最小値の最大化
平均最大化
頻出テクニック
反転
弾性衝突
データ構造
動的計画法を極める!
データ構造を用いて高速化
ネットワークフロー
計算幾何
平面走査
数値積分
さらに極める!一上級編
より複雑な数学的問題
行列
modの世界
数え上げ
対称性のある数え上げ
ゲームと必勝法
グラフ
頻出テクニック
スタックの利用
デックの利用
工夫を凝らして賢く探索
枝刈り
A*とIDA*
分割統治法
列の分割統治法
ツリーの分割統治法
平面の分割統治法
文字列
文字列に対する動的計画法
文字列検索
column
スタック領域とヒープ領域
食欲法のアルゴリズムの証明
ハフマン符号
memsetによる初期化
全探索の書き方
初期化忘れに注意
いろいろなDP
DPにおける配列の再利用
lower bound
平衡二分木
証明や法則などについて
二分探索の収束判定
集合の整数表現
領域木
完全マッチングの個数
もっと高速な漸化式の計算
さまざまなグラフに対する最大流
高速な最大流アルゴリズム
さまざまなグラフに対する最小費用流
線形計画問題
計算誤差
整数計画問題
文字列DPのより高速な前処理
多倍長演算