ダイナミックプログラミングの学習のまとめ

動的計画法の理解

分割統治に類似する動的プログラミングアルゴリズム、基本的な考え方は、問題を解決することを目的とするいくつかのサブ質問、最初のサブ問題解決、元の問題の解決策、およびこれらのサブ問題から得られた溶液に分解されるであろう。そして分割し、異なるダイナミックプログラミングを使用して問題を解決するのに適している征服、分解サブ問題は、多くの場合、互いに独立していません。分割統治法を持つ子どもの数は、この問題を解決する場合は、あまりにも多くの問題は、いくつかのサブ問題の分解が二重にカウント何回もしました。私たちは子供を救うことができる場合は、問題への答えは解決されている、と答えを見つけるために必要として得られているので、あなたは時間を節約し、ダブルカウントの多くを回避することができます。我々は解決策を持っているすべてのサブ問題への回答を記録するためのテーブルを使用することができます。かどうかは、結果表に記入することが求められる限り、かかわらず、サブ問題の将来的に使用されています。これは、動的プログラミングの基本的な考え方です。特定の動的プログラミングアルゴリズムは変化するが、それらは同じ充填フォーマットを有します。

かなり理解していない2つの場所があります。

ノーアフターエフェクトダイナミックプログラミングの特性の、異なる動的プログラミングアルゴリズムと貪欲アルゴリズム。

プログラミングの問題再帰方程式2

第1题:lmisCurrent [I] = MAX(lmisCurrent [I]、lmisCurrent [J] +1)(0 <I <nで、0 <J <I、[I]> [J]))

第2题:DP [I] [Z] + DP [Z] [J](I + 1 <= Z <= j)は

ペアプログラミング状況

ハンズオン実習の授業がない通信に加えて、以下有心ので。

おすすめ

転載: www.cnblogs.com/Texas/p/11790000.html