问题标题: 酷町堂:1300 最大完美值

0
0
已解决
聂帅
聂帅
初级守护
初级守护

1300   最大完美值

题目描述 Description

你现在拿到了许多的礼物,你要把这些礼物放进袋子里。你只有一个最多装下V体积物品的袋子,你不能全部放进去。你也拿不动那么重的东西。你估计你能拿的最大重量为G。现在你了解了每一个物品的完美值、重量和体积,你当然想让袋子中装的物品的完美值总和最大,你又得计划一下了。

输入描述 Input Description

第一行:V和G表示最大重量和体积。
第二行:N表示拿到N件礼物。
第三行到N+2行:每行3个数Ti Vi Gi表示各礼物的完美值、重量和体积

输出描述 Output Description

输出共一个数,表示可能获得的最大的完美值。

样例输入 Sample Input

6 5 4 10 2 2 20 3 2 40 4 3 30 3 3

样例输出 Sample Output

50

数据范围及提示 Data Size & Hint

数据规模
对于20%的数据N,V,G,Ti,Vi,Gi≤10
对于50%的数据N,V,G,Ti,Vi,Gi≤100
对于80%的数据N,V,G,Ti,Vi,Gi≤300
80%到100%的数据是N,V,G,Ti,Vi,Gi≤380的离散随机数据。

聂帅在2020-05-14 20:15:43追加了内容

@张睿杰 j和k怎么定义???在线等

聂帅在2020-05-14 20:31:57追加了内容

@邓涵睿 给思路


1
已采纳
张睿杰
张睿杰
高级守护
高级守护

一个经典的不能再经典的二维费用了(花了3分钟写了一下)

f[i][j]=在i的范围和j的范围内的最大值

for i 1-n

for j 从大到小

for k 从大到小

f[j][k]=max(f[j][k],f[j-cv[i]][k-cm[i]]+w[i]);

最后输出f[v][m]

0
邓涵睿
邓涵睿
中级天翼
中级天翼

背包.......你学过吗,学过我才给思路

我要回答