動的計画法を使用したソリューションでは、ダイナミクスを計算する順序が重要です (現在の値が依存する値が前に計算されている必要があります)。 したがって、有向非巡回グラフで動的プログラミングを使用する必要がある場合は、最初にグラフのトポロジカル ソートを構築する必要があります。次に、構築されたトポロジー ソートの順序で頂点をソートしてダイナミクスを計算します (問題に応じて、走査順序はソースからシンクへ、またはその逆になります)。
1500 ms 256 Mb Rules for program design and list of errors in automatic problem checking