???????然而你好像没开999
by 瞬闪影 @ 2017-10-31 20:09:34
能问一下思路吗?
f[j]=max(f[j],f[j-w[i]]+v[i]);
这一行没看懂
大佬求帮助
by ___I_AK_IOI @ 2017-11-01 17:33:37
@[白哥小葱](/space/show?uid=54520) 典型的背包问题,背包的转移方程
by Lyrics @ 2017-12-03 21:40:51
调理很清晰,如果格式在注意一下就更好了?????????????????
by 一起加油! @ 2018-01-26 20:40:27
糟糕…………………………,刷了个屏…………………………
by 一起加油! @ 2018-01-26 20:41:44
傻逼
by 一起加油! @ 2018-01-27 20:56:26
对不起,我本来是想打“失败”的,打错了╭(╯^╰)╮
by 一起加油! @ 2018-01-27 20:58:03
#### @[白哥小葱](/space/show?uid=54520) 他用了一维数组优化。。。
##### 这个意思是在选择第i个药草时,f[j]=max(f[j],f[j-w[i]]+v[i]);
by 九思 @ 2018-02-06 14:34:39
刚有人捣乱(他已经被我打了一顿:-))。咳咳,回到正题:
------------
这句的意思是在选择第i个药草时,有选和不选两种策略,(注意这里f存的是循环i-1时的数据,对于每个f[j]存的是当**采了重量为j药草时**可以达到的最大价值(介么多介么重的药草,总有个最大的价值吧),因为每次dp都只关系到i-1行和i行,所以就直接在一维数组里进行dp):
###### 不选:f[j]=f[j]%跟先前的价值、重量一样,不变%
###### 选:**f[j]=f[j-w[i]]**%在没采i药草前用了j-w[i]个重量时里面存放的价值(采完后重量就是j了)%**+v[i]**%加上i药草自身的价值%
然后把f[j]更新为循环i时的数据。
by 九思 @ 2018-02-06 15:01:21
@[jeffice0325](/space/show?uid=37770)
能给个思路吗?
~~蟹蟹~~^v^
by 夜殇 @ 2018-03-02 08:56:58