本题一个大坑,警示50分的后人
查看原帖
本题一个大坑,警示50分的后人
1033360
retamian楼主2023/8/29 21:55

如果你的转移方程类似 dp[i][j]=max(dp[i][j-1],dp[i-1][j-1]+a[i][j]); 请注意,当枚举dp[1][1]dp[1][1] 时,可能dp[i−1][j−1]+a[i][j]<0dp[i-1][j-1]+a[i][j] \lt 0 ,那么因为 dp[1][0]dp[1][0]被初始化成了00,导致最大值变成00,结果会出错。请将dp[1][0]dp[1][0]初始化为负无穷。转移方程可能因为表意不同产生偏差,请自行根据转移方程推导自己如何初始化,切忌盲从。

参考hark数据(数据来源:@Zlc晨鑫):

输入样例

3 5
-1 -2 -5 -1 1
-4 1 -4 5 -7
-4 0 -3 -3 0

正确输出

4
1 4 5
2023/8/29 21:55
加载中...