競技プログラミング総合スレ 66 (478レス)
競技プログラミング総合スレ 66 http://mevius.5ch.net/test/read.cgi/tech/1679465982/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
174: デフォルトの名無しさん (ワッチョイ 412d-dXWb) [sage] 2023/04/09(日) 18:28:01.90 ID:fcL4nlHr0 >>172 確かに、ヒープにプッシュする前にそのノードがマークされていないことをチェックしています。 ただし、ヒープにプッシュされた後で、そのノードが他の辺を経由してマークされる可能性があります。 そのため、ヒープから辺を取り出す前にもう一度マークされているかどうかをチェックする必要があります。 先程のグラフで考えてみましょう。キューがこの様になったところから解説します。 (1, 3), (1, 1), (1, 3) ここで、最初に(1, 3)をキューから取り出し、頂点3をマークします。この時点で、キューには以下のような状態が残っています。 (1, 1), (1, 3) 次にキューから取り出す辺は(1, 1)です。この辺は、頂点1と頂点2の間にありますが、頂点1はすでにマークされています。 しかし、この辺をヒープにプッシュした時点では、頂点1はまだマークされていませんでした。 それが、例のコード部分が必要とされる理由です。 あの部分によって、既にマークされた頂点に対応する辺をスキップし、正しい最小全域木を構築することができます。 http://mevius.5ch.net/test/read.cgi/tech/1679465982/174
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 304 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s