for(int v=m;v>0;v--)
if(w[i]<=v) f[i][v]=max(f[i-1][v],f[i-1][v-w[i]]+c[i]);
v-w[i]可能小于0
by loadingnow @ 2016-11-15 18:50:39
直接改成
for (int v=m;v>=w[i];v--)
不就行了吗?
by PTC06 @ 2016-11-15 19:06:54
其实……数据范围到3000,而你只开到了1000= =
by 白开 @ 2016-12-04 08:44:32