刚学dp的蒻,求指点

P1048 [NOIP2005 普及组] 采药

j=ti[i]时也可以采摘
by cmaths @ 2021-10-11 22:41:52


@[福明o7](/user/566903) ```cpp else{//如果采这株草药的时间不够 dp[i-1][j];//直接跳到下一株 } ``` 这一句是什么意思?
by cmaths @ 2021-10-11 22:42:51


@[福明o7](/user/566903) 实际上还可以优化一下空间,我们可以把数组的第一维给消掉 实际上是因为i-1用完了才用到i 实际上就类似两个数字的递推 可以设置一个中间变量,然后只用三个变量实现一个数列的递推 实际上这个dp也一样,也就是用以前的数据来更新新的数据,更新的新的信息覆盖以前的信息,但是这些覆盖的信息不会再次对后面的答案产生影响,这就是滚动数组
by wweiyi @ 2021-10-11 22:44:10


应该改为 ```cpp dp[i][j] = dp[i - 1][j] ``` 吧
by cmaths @ 2021-10-11 22:44:53


过了,谢谢大佬; 自学的dp,真的有点蒙
by 福明o7 @ 2021-10-11 22:47:28


@[福明o7](/user/566903) 没事,多做点题熟练了就好了
by cmaths @ 2021-10-11 22:49:52


|