如果你20pts
查看原帖
如果你20pts
396748
apxitye楼主2024/3/5 18:30

那么可能你的方程是这样写的:

dp[i] = max(dp[i],dp[j]+calc(i,j));

正确的方程是这样:

if(calc(i,j)) dp[i] = max(dp[i],dp[j]+1);

区别在于没有理解到,如果calc(i,j)为0,则根本不能基于j转移到i。

这里是想当然出错了。

2024/3/5 18:30
加载中...