SSL 1376 完全揹包

2021-10-23 13:25:16 字數 746 閱讀 9182

設有n 種物品,每種物品有乙個重量及乙個價值。但每種物品的數量是無限的,同時有乙個揹包,最大載重量為m,今從n 種物品中選取若干件(同一種物品可以多次選取),使其重量的和小於等於m,而價值的和為最大。

第一行:兩個整數,m(揹包容量,m<= 200)和n(物品數量,n<= 30); 第2…n+1 行:每行二個整數wi,ui,表示每個物品的重量和價值。

僅一行,乙個數,表示最大總價值。

1242

1334

579

15
完全揹包相比01揹包唯一的差距就在程式中的c[i][j]=max(c[i-1][j],c[i][j-a[i]]+b[i]);

除了這個差距,其他跟ssl_1045【採藥】完全一樣

只不過最大值取的時候不是從沒有這乙個物品的一行取,而是從擁有這乙個物品的本行取。

上**!

#include

#include

using

namespace std;

int n,m,a[

1001

],b[

1001

],c[

1001][

1001

],t=0;

intmain()

}for

(int i=

1;i<=m;i++

) cout

}

SSL 1376 完全揹包

description 設有n 種物品,每種物品有乙個重量及乙個價值。但每種物品的數量是無限的,同時有乙個揹包,最大載重量為m,今從n 種物品中選取若干件 同一種物品可以多次選取 使其重量的和小於等於m,而價值的和為最大。input 第一行 兩個整數,m 揹包容量,m 200 和n 物品數量,n 3...

01揹包,完全揹包

動態規劃 動態規劃的核心是狀態以及狀態轉移方程。需要定義乙個 i,j 狀態以及該狀態的指標函式d i,j 01揹包 有n種物品,每種只有乙個,第i件物品的體積為vi質量為wi。選一些物品裝到體積為c的揹包中,使其體積不超過c的前提下重量最大。namevw abcd e 子問題定義 dp i j 表示...

(揹包二)完全揹包

public class beibaocomplete int weight int capacity 8 int value int weight int capacity 12 int result packagecomplete value,weight,capacity system.out...