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]は++スタートから、
複数のバックパック