ダイナミックプランニング---インタビューレビュー

動的プログラミング

dzs3Is.png

1.動的プログラミングの問題解決のアイデア

状態

最適な部分構造

後遺症なし

伝達方程式

分類ディスカッション、注意深い列挙

2.線形DPの概要

分類

LIS

LCS

デジタルトライアングル

バックパック

専門

専門

DP状態はすべての次元に沿って直線的に成長します

3.基本モデル

  1. 最大連続サブシーケンス合計
    dp [i]を、A [i]を終了点とする連続シーケンスの最大合計とする
  2. 最長非減少サブシーケンス(LIS)
    dp [i]がA [i]で終わる最長の連続非減少サブシーケンスの長さを示すとしましょう
  3. 最長共通サブシーケンス(LCS)の
    順序dp[i][j]は、文字列Aのi位置と文字列Bのj位置の前のLCSの長さを表します
  4. 最も長い回文の部分文字列の
    順序dp[i][j]は、S [i]からS [j]で表される部分文字列が回文の部分文字列であるかどうかを示します
  5. タワー番号のDP
    コマンドはdp[i][j]、i番目の行のj番目の番号から始まる最下層へのすべてのパスで取得できる最大合計を表します
  6. DAG最長の方法

--------------------------------------------------つづく

300.最も長く上昇しているサブシーケンスLIS

1143.最も長い共通サブシーケンスLCS

120.三角形の最小パス合計

4.演習

198.ハウス強盗

354.ロシアの人形の封筒の問題

72.論理的な距離

おすすめ

転載: blog.csdn.net/qq_41076577/article/details/108355011