[リニア] [DP] CH5E02決定の最適化

フェイス質問

あなたのn×m個のマトリックスを与えるためには、各行番号を選択することを必要とし、i行目の選択位置[i]が選択された行A [I-1]の最初のi-1位置よりも大きくなければならない、選択された数を見つけます数の和が、最小出力のセットは、[1]〜[n]を辞書。

スコープ

1 <= N <= M <= 100

考え

まず、状態がdp明らかです

[I-1] [K] + [I] [J]} $ F $ F [I] [J] = \ MAX_ {I-1 <= K <J}

最大値を表し、i番目の行及びjの数に選択された時間は、この数を選ぶだろう。複雑さは、各サイクルI中の可変MAXKが設けられており、jは毎回変更され、貫通することができるが、$(N ^ 3)$ Oであり、実際にも、jが大きいと大きくなると、kは範囲を見つけるために最適化することができます、fを使用する場合は[I-1] [J-1]は、一度それをMAXK更新されます。

この最適化は、最大値とすると、この番号の数番目の選択されたi番目の行及びjは必ずしもだけ変化どの遷移方程式のように、選択されませんで表される状態に実際に等価です

[I-1] [K] + [I] [J]} $ F $ F [I] [J] = \ MAX_ {I-1 <= K <J}

 

[I-1] [K] + [I] [J] $ F $ F [I] [J] = \ MAX_ {I-1 <= K <J}

個人間で、時には複数の第一のタイプを設定する設定方法、最終的には良い仕事として、私は_ @、@第2のセットを覚えていないか、なども考えられています。

おすすめ

転載: www.cnblogs.com/flashlizard/p/10992540.html
おすすめ