高度典型課題
精選上級50
https://qiita.com/e869120/items/acba3dd8649d913102b5#%E8%A1%8C%E5%88%97%E7%B4%AF%E4%B9%97-1
座標圧縮
座圧自体は一般攻撃魔法。ちょっと面倒なのはei1333窃盗も手。
二次元がダルい。
半分全列挙
引き出しとして持っておけば発想も発見も簡単め。
添え字でバグらせないように、N/2の配列とN-N/2の配列に最初から分けてしまうなどすると実装も楽。
行列累乗
https://zenn.dev/shibak3n/articles/f08a8ad67a7d14
https://pione.hatenablog.com/entry/2021/04/04/231809
ABC009の解説スライドが本質的なことを言っている気がするので読む。
ダブリング(最長共通祖先 (LCA)を含む)
Grundy 数
精進メモ: Grundy数
実験エスパーです。
Rolling Hash
平方分割
最大流/最小カット
二部グラフを扱う問題
二部マッチングを扱う問題
Binary Indexed Tree (BIT) を使う問題
Range Minimum Query (RMQ)
遅延評価セグメント木
精進メモ:遅延セグ木入門メモ
一般攻撃魔法。
チートシートにあるやつはパクる。ないやつは頑張る。
区間加算一点取得は普通のセグ木にimos風に乗せるか双対セグ木でできるが、遅延セグ木も楽。
その他のテクニック
典型90の★6以上
PAST上級本
蟻本
コンテストで出てきたもの
桁DP
精進メモ: 桁DP
自分の中でテンプレを持つ。いくつかパターンがあるので精進で慣れる。
部分列DP
精進メモ:部分列DP
ゆーて応用分からん。
HL分解
精進メモ:HL分解(Heavy-Light-Decomposition)メモ
FFT
精進メモ:FFT入門したメモ
Suffix-Array
https://atcoder.jp/contests/abc272/tasks/abc272_f
未履修
Auxiliary Tree
https://atcoder.jp/contests/abc340/tasks/abc340_g
marge-sort Tree
https://atcoder.jp/contests/abc339/tasks/abc339_g
FPS
https://trap.jp/post/1657/
Zobrist Hashing
https://trap.jp/post/1594/
k-d tree
https://trap.jp/post/1489/