Ryotaro Sato
Ryotaro Sato
- range add / range min & argmin (LTIME104 CIRCPRMRCVRY) - range update / range sum (LTIME104 PERMDEL)
"Extended" も確認しておきたい → lazy propagation をすればいいと理解
- [Matroid matching via mixed skew-symmetric matrices](https://link.springer.com/content/pdf/10.1007/s00493-005-0013-7.pdf) : Geelen & Iwata (2005) による skew-symmetric matrix を用いた定式化 - [TALG1003-10](http://www-scf.usc.edu/~hoyeeche/papers/parity.pdf) : $O(m r^2)$ の乱択アルゴリズム(4章)([Ho Yee CHEUNG](http://www-scf.usc.edu/~hoyeeche/)) ほとんど 0 から 100 まで書いてあるのでこれを実装すればよい
weighted だと [Algorithms for Finding a Maximum Non-k-linked Graph](https://bigdata.nii.ac.jp/eratokansyasai4/wp-content/uploads/2017/09/f744cb6c19b28f67eacbc10721e1b526.pdf)
- Verify https://yukicoder.me/problems/no/1773 - 0-1 重み版も三乗で解ける https://yukicoder.me/problems/no/1775
一応 `atcoder::mf_graph` は [コンパイルが通る](https://atcoder.jp/contests/arc031/submissions/28366266).ただし, - 計算量は不明. - `graph.flow(gs, gt)` は `numeric_limits::max()` を呼ぶため,浮動小数点には使えない.`graph.flow(gs, gt, 1e30)` などとすべき.
https://gregable.com/2008/11/pq-tree-algorithm.html によると,頑張れば(頂点数+各クエリの頂点数の和)に対して線形にできる(らしい) - P-node の子の情報は常にちゃんと持つ - Q-node は両端の子の情報を持てばよい - Q-node のそれぞれの子について両隣の子の情報を持たせる?
https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2688
https://qiita.com/lowking/items/a9393f6afb9a4e662c38
残課題 - 色々通したが,使用例が偏っているのであまり verify になっていない - 一つの無向グラフで全域森を2つ作るケースはもっと高速化できる