zer0-star / Nim-ACL

ACL (AtCoder Library) implementation in Nim
Creative Commons Zero v1.0 Universal
22 stars 3 forks source link

グラフ処理をさらに追加・べき乗と二項係数でマイナスに対応 #32

Closed chaemon closed 3 years ago

chaemon commented 3 years ago

以下を追加しました。

  1. 個人ライブラリにあったグラフ系の処理をたくさん追加(aojまたはyosupo-checkerのテストを追加済み) ベルマン・フォード、最小全域木(prim, kruskal, voruvka法)、有向最小全域木(chu-liu edmonds)、ワーシャル・フロイド、lowlink(橋・結節点)、最大独立集合、オイラー閉路、一般グラフマッチング(gabow-edmonds法)があります
  2. segtree, lazysegtreeの[]演算子での呼び出し可能に st.get(3), st.prod(3..5), st.set(3, 7)がそれぞれst[3], st[3..5], st[3]=7と呼び出し可能。applyについてはst.apply(3..5, 7)をst[3..5]=7とか書くと混乱するので保留しました。
  3. べき乗・二項係数でマイナス対応 mint(3)^-3はmint(3).inv()^3が返されるように変更。二項係数もマイナス対応。違う関数にするべきか・・・