为什么 j 从1开始会WA,从0开始AC,玄学啊

P1802 5 倍经验日

@[ljx52lm](/user/853953) 加一,我也觉得很玄学,我特判了结果70pts,j从0开始就变成AC了 ------------ ```cpp for(int i=1;i<=n;i++){ dp[i][0]=item[i].lose+dp[i-1][0]; for(int j=1;j<=x;j++){ if(j<item[i].use) dp[i][j]=dp[i-1][j]+item[i].lose; else dp[i][j]=max(dp[i-1][j]+item[i].lose,dp[i-1][j-item[i].use]+item[i].win); } } ``` ------------
by Smithespics @ 2023-04-07 20:27:57


7 8 100 1000000 0 21 52 1 21 70 5 21 48 2 14 38 3 14 36 1 14 36 2 不妨试试这组数据,结果不一样。 j = 1的情况需要从j = 0的情况转移过来,,而题目表明有可能pk时,不需要嗑药,说人话就是花费0即可战胜,所以一定要考虑j=0的情况
by 程序小大白 @ 2023-04-09 22:46:30


果然听了大佬们的立刻90()
by protractor @ 2023-07-05 16:25:51


Hack: ``` (in) 1 0 0 100 0 (out) 100 ``` j=1时输出为0
by whilethan1 @ 2024-01-03 12:27:24


``` 输出有误 (out) 500
by whilethan1 @ 2024-01-03 12:28:46


|