求助 全W C++

P1048 [NOIP2005 普及组] 采药

> 接下来的 M 行每行包括两个在 1 到 100 之间(包括 1 和 100)的整数,分别表示采摘**某株**草药的时间和**这株**草药的价值。 每种草药只有一株,这是01背包吧 j要倒过来循环 @[lihaoyang1122](/user/636517)
by WZRYWZWY @ 2022-10-07 16:39:00


@[WZRYWZWY](/user/704668) 不是太能理解为什么要倒着循环,除了遍历药草的先后顺序变了,还有什么区别呢?
by lihaoyang1122 @ 2022-10-07 17:03:48


emm…… 自己手动模拟一下就知道了,正着的话会重复算入同一株草药的值,就变成完全背包了(每种草药有无数株) 而且你的方程好想也不太对?你可以参考一下第一篇题解,它说的比较详细。 ~~看不懂就在bilibili里搜一下01背包吧~~ @[lihaoyang1122](/user/636517)
by WZRYWZWY @ 2022-10-07 17:27:49


@[WZRYWZWY](/user/704668) 好的,谢谢,我再去自己模拟一下,写一写
by lihaoyang1122 @ 2022-10-07 17:44:48


@[WZRYWZWY](/user/704668) 看了题解,明白你的意思了,但我写的是二维的~~(我是蒟蒻,不太会想得到1维)~~
by lihaoyang1122 @ 2022-10-07 17:56:45


|