あくまで私個人用のメモであり、詳細な説明は記載していません。
水色コーダー、又は青コーダーになるのに必要なキーワードが満載ですので、ここに書かれている内容をググって勉強していく、という使い方はできると思います。
勉強の仕方は、一番下の「参考サイト」を参考にしてください。
Contents
開発環境
初級
C++ / STL
- 標準入力・標準出力(cin / cout)
- std::vector
- std::set
- std::map
整数論・組合せ論
動的計画法(Dynamic Programming)
区間問題
- 尺取 (しゃくとり)法
- Segment Tree
区間最大・区間最小・区間和等の問題に使えます。 - いもす法 – いもす研
多次元累積和を計算する時に使えます。
探索
グラフ理論
木
最短経路問題
最小全域木問題
- クラスカル法
- プリム法
文字列
その他
中級
グラフ理論
最大フロー(最大流)問題
- フォードファルカーソン法
文字列
- ローリングハッシュ
- Z algorithm
- trie木
数学
- ラグランジュ補間
n次多項式y=f(x)をn+1点の測定値(e.g. f(1)〜f(n+1))から求める。
平方分割
- Mo’s algorithm
参考サイト
- 整数論テクニック集 – kirika_compのブログ
- 最短経路問題の解法まとめ – Qiita
- レッドコーダーが教える、競プロ・AtCoder上達のガイドライン(初級編・中級編・上級編)