質問

指示された正の加重グラフがあります。各エッジには使用コストがあります。私はお金しか持っていません。dijkstraアルゴリズムで最短パスを計算したいのですが、ルートのエッジコストの合計はAよりも少ないか等しくなければなりません。

私はこれを最も小さいDijstra修正で行いたいと思っています(Dijkstraの小さな変更でそれを行うことができる場合)。私はこれをしなければなりません O(n*log(n)) できれば、できると思います。

誰かがこれで私を助けることができますか?

役に立ちましたか?

解決

https://www.spoj.pl/problems/roads/

問題はで与えられました CEOI '98 そして、その公式の解決策を見つけることができます ここ.

他のヒント

答えは最短のパスを見つけてからAを受け入れることと同等であるため、これを行うためにDijkstraのアルゴリズムを変更する必要はありません。

もちろん、Aを超えるコストでパスにアクセスすると、いつでも内側のループを短絡させることができます。

編集:コストと距離を最小限に抑えたいという明確化により、必要なソリューションを明確にせずにそれを行うことはできません。最も安い道が欲しいですか?あなたは最短の道が欲しいですか?コストと距離の機能が必要ですか?これらはすべて、特定のエッジに使用する必要がある重み機能を決定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top