競技プログラミング総合スレ 66 (478レス)
前次1-
抽出解除 レス栞

32: (テテンテンテン MM26-ea/y) 2023/03/27(月)20:37:25.90 ID:/QFPO4Z2M(1) AAS
今回のDで緑パフォしかないのレベル高すぎ…
156: (ワッチョイ 85a4-5f+B) 2023/04/08(土)20:09:47.90 ID:8rEHJkBb0(1) AAS
ワーシャル・フロイドアルゴリズムは、全ての頂点間の最短距離を求めるためのアルゴリズムです。このアルゴリズムは、動的計画法の一種であり、一度計算された結果を再利用することで、計算量を減らすことができます。

具体的には、アルゴリズムの初期段階で、すべての頂点の間の距離を表す2次元配列を作成します。この配列は、アルゴリズムの途中で更新されますが、代入演算子の左右で共通のものが使われるため、問題はありません。

なぜなら、アルゴリズムの途中で更新される値は、それ以前の値に依存しているため、代入演算子の左右で共通の2次元配列を使用していることによって、更新された値が正しく計算され、以前に計算された値が失われることはありません。

つまり、更新された値は、以前に計算された値に基づいて正確に計算され、以前に計算された値が配列内に保持され続けるため、代入演算子の左右で共通の2次元配列を使用することは、アルゴリズムの正しい動作に影響を与えないということです。
174: (ワッチョイ 412d-dXWb) 2023/04/09(日)18:28:01.90 ID:fcL4nlHr0(2/3) AAS
>>172
確かに、ヒープにプッシュする前にそのノードがマークされていないことをチェックしています。
ただし、ヒープにプッシュされた後で、そのノードが他の辺を経由してマークされる可能性があります。
そのため、ヒープから辺を取り出す前にもう一度マークされているかどうかをチェックする必要があります。

先程のグラフで考えてみましょう。キューがこの様になったところから解説します。
(1, 3), (1, 1), (1, 3)

ここで、最初に(1, 3)をキューから取り出し、頂点3をマークします。この時点で、キューには以下のような状態が残っています。
省5
243: (オッペケ Srfb-g0sp) 2023/04/16(日)22:30:54.90 ID:SVYFRHN6r(1) AAS
もし自分でアルゴリズム開発したらかっこいい略称付けたいよね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.535s*