library-checker-problems icon indicating copy to clipboard operation
library-checker-problems copied to clipboard

[問題案] Incremental Minimum Spanning Forest

Open NachiaVivias opened this issue 2 years ago • 6 comments

問題ID: incremental_msf 問題名: Incremental Minimum Spanning Forest

想定アルゴリズム: link-cut tree で maximum を管理する。 参考資料: https://atcoder.jp/contests/joisc2022/tasks/joisc2022_l

https://atcoder.jp/contests/pakencamp-2021-day3/tasks/pakencamp_2021_day3_g https://twitter.com/SSRS_cp/status/1508735586718613507

問題概要

$N$ 頂点のグラフの $M$ 個の重み付き無向辺が順に与えられる。番号が $i$ 未満の辺のみを採用した場合の最小全域森を $F_i$ とする。各辺 $k$ について、辺 $k$ が $F_i$ に含まれるような最大の $i$ 、あるいはそのような $i$ が存在しなければ $k$ を求めよ。

入力

N M
u[0] v[0] w[0]
u[1] v[1] w[1]
:
u[M-1] v[M-1] w[M-1]

出力

空白区切りで $M$ 個

制約

1 <= N <= 200 000 1 <= M <= 200 000 w は 1..M の順列

これと Vertex Add Subtree Sum を合わせると Dynamic Graph Vertex Add Component Sum のオフライン解法になるはず

NachiaVivias avatar Mar 29 '22 11:03 NachiaVivias

Static Range Components Number とかでしょうか 問題設定がわりと複雑なんで、タイトルで内容をぜんぶ表すのは難しいですね

yosupo06 avatar Jun 19 '22 20:06 yosupo06

Static Range Component Count とかどうですか

SSRS-cp avatar Jun 20 '22 03:06 SSRS-cp

さすがに問題設定が悪かったので変更しました

NachiaVivias avatar Mar 27 '23 00:03 NachiaVivias

  • 元の問題案を変えた理由があれば教えてください(個人的には元の方が学びがあって好きかも)
  • 今の形式:「辺を足すたびに、消す辺があればそれを出力、なければ -1 を出力」とかでもいいかも

maspypy avatar Feb 08 '24 17:02 maspypy

  • Incremental MST (を計算して、辺が捨てられるタイミングをとる)が使えるパターンがいくつかあると思っていて、そういう場合に前の問題設定だと複雑すぎてあまり嬉しくなさそうだと思って変えました。

  • 本質に差がなければ(なさそう)、辺を足すたびに消す辺を出力のほうが綺麗そうです。

NachiaVivias avatar Feb 09 '24 08:02 NachiaVivias

ok です。

辺を足すたびに消す辺を出力のほうが綺麗そう

ではこういうことで。

maspypy avatar Feb 18 '24 03:02 maspypy