luzhiled1333 / comp-library

Creative Commons Zero v1.0 Universal
4 stars 2 forks source link

[graph] All-Pairs Shortest-Paths #114

Open ei1333 opened 1 year ago

ei1333 commented 1 year ago

[graph] Weighted

Description

File Name

src/graph/all-pairs-shortest-paths/in-weighted-graph.hpp

TODO

note

unweighted は #89 と同じノリで bit 並列で $O(\frac {|V|^3} {B})$ にできます

[graph] UnWeighted

Description

https://github.com/luzhiled1333/comp-library/issues/89 と同じノリで bit 並列で $O(\frac {|V|^3} {B})$ にできます

File Name

src/graph/all-pairs-shortest-paths/in-unweighted-graph.hpp

TODO

note

ei1333 commented 1 year ago

設計をどうしますか

ei1333 commented 1 year ago

隣接リストよりも隣接行列で持ちたい気持ちがある

Luzhiled commented 1 year ago

すいません 重みなしAPSPはどんなに適当にやっても $O(NM)$ で解けます

ei1333 commented 1 year ago

密なグラフのことを考えていました

ei1333 commented 1 year ago

MがN^2

Luzhiled commented 1 year ago

もとのグラフで距離2の頂点間に辺を結んだグラフの隣接行列は行列積から求められて、そこからうまいことパリティを求めることができるのでそれを直径が1になるまで再帰的にやると $O((ここに行列積のオーダー) \log |V|)$ になる、という話は見ました

Luzhiled commented 1 year ago

結局のところ密か密でないかで分ける必要がありそう

ei1333 commented 1 year ago

密でない場合はbfsをN回呼び出せば良くないで坂

ei1333 commented 1 year ago

それでは行列積の実装を

Luzhiled commented 1 year ago

密でない場合は bfs を N 回呼び出せばいいですが

ei1333 commented 1 year ago

なるほど

Luzhiled commented 1 year ago

密である場合だとか密である場合だとか、どう分けるべきなんですかね 判定とかはさすがに諦めてユーザーのみなさんが頑張りましょうですか

Luzhiled commented 1 year ago

こういうことを Discussion でやれ、やられたという感じだ

ei1333 commented 1 year ago

密判定士に聞きましょう