0
問題Minimum number of jumps to reach endでは、重複するサブ問題はどこですか?動的プログラミング疑問
問題Minimum number of jumps to reach endでは、重複するサブ問題はどこですか?動的プログラミング疑問
グラフを横断する方向を反転すると重なり合うサブ問題が発生し、すべての可能なケースを解決する計算量が大幅に減ります。
単純な解決策では、要素が選択されるたびに、配列の終わりに達するまで、可能なパスを反復処理する必要があります。
しかし、ダイナミックプログラミングのアプローチでは、私たちがしようとしているのは私たちの目標から後ろ向きに作業することです。そこに到達するための最短経路を見つけるのではなく、基礎となるサブ問題を使用します:私の現在のノードに到達するにはどのノードから来ていますか?そして最も重要なのは、このアプローチを適用する場合、は、重複計算なしですべての可能な項目の回答を提供します。
これはあなたに、各ノードのすべての答えを与える以下のアルゴリズムにつながる:現在のノードを取り、その可能性のすべてのノードを見つける配列
OHKのthnx :)の終わりに任意のノードからの最短パスのリストを持っている