P1734的题解第二篇是不是有误?
01背包应该降维度循环后到这来
也就是说
for(i=1;i<=n;i++)//循环n个数 for(j=i;j<=n;j++) dp[j]=max(dp[j],dp[j-i]+a[i]);
改成
for(i=1;i<=n;i++)//循环n个数 for(j=n;j>=i;j--) dp[j]=max(dp[j],dp[j-i]+a[i]);
虽然这道题这样写机缘巧合的对了,但是我认为严谨来说这样不行吧。
我很弱的,有可能想错了,勿喷