3つの簡単なナップザック問題

01バックパック

nの値と項目の重みを与え、容量がバックパックをするとき、M、最大値をロードすることができるときに決定しました

あなただけのアイテムごとに一回、最大で取ることができます

 

一次元の言葉遣い

DPアレイは下に置くことができ、現在の状態の最大値を表します

INTは iは= 0 ; I <; N I ++ 
{ 
    ためINT ; = W [I]; j-- J = M J> 
    { 
           DP [J] = MAX(DP [J]、DP [JW [ I] + V [I])。
    } 
}

 

 

フル・バックパック

nの値と項目の重みを与え、容量がバックパックをするとき、M、最大値をロードすることができるときに決定しました

各項目には、複数回撮影することができます

 

一次元の言葉遣い

INTは iが= 0を I ++; I <N 
{ 
     ためINT J = [I] Wあり、j <= Mであり、j ++ 
    { 
        DP [J] = MAX(DP [J]、DP [JW [I] ] + V [I])。
    } 
}            

 

書き込み、完全なリュックサックバックパック01前記ループの第二層ループトラバーサル順序との間の寸法差

01バックパック:開始からm - で

完全にバックパック:W [i]は++スタートから、

 

複数のバックパック

おすすめ

転載: www.cnblogs.com/OFSHK/p/11976780.html