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