50分求助

P1048 [NOIP2005 普及组] 采药

你打成完全背包了 ```cpp for (int j=0;j<=m;++j) ``` 应为 ```cpp for (int j=m;j>=0;--j) ```
by AToj123 @ 2020-10-22 20:28:32


你的代码里面一个物品可能重复选
by AToj123 @ 2020-10-22 20:29:17


@[AToj123](/user/283705) 我觉得你没有理解背包,楼主打的是二维不需要逆序,事实上正逆都可以。
by 空木秋人 @ 2020-10-23 21:38:28


我看这段代码看了好一会,得出结论:代码思想没有问题,dp数组开小了。另外关于逆序的问题:你用一维来做背包实际上是基于滚动更新的思想,只保留了上一个版本信息。但是正序会影响后面元素的更新,逆序恰好可以避免这一点。这完全就是一个code trick
by 空木秋人 @ 2020-10-23 21:41:26


谢谢各位
by 不在范围内 @ 2020-10-26 15:34:46


|