为啥二维能过三维过不了呢?求神犇看一下……

P1855 榨取kkksc03

我也是,但我想通了
by 巨型方块 @ 2016-12-30 09:34:20


你想啊for a:=1 to n do for b:=wishes[a,1] to m do for c:=wishes[a,2] to t do f[a,b,c]:=max(f[a-1,b,c],f[a-1,b-wishes[a,1],c-wishes[a,2]]+1); 比如这样,f[a][0~wishes[a,1]-1][0~wishes[a,2]]不在你判断的范围内,于是他们变成了0; 其实他们应是f[a-1][...][...] 对不对 但二维却直接存下了f[a-1][...][...],
by 巨型方块 @ 2016-12-30 09:40:06


@雷电音
by 巨型方块 @ 2016-12-30 09:40:38


@雷电音
by 巨型方块 @ 2016-12-30 09:41:19


这题好像就是用二维的背包
by ktSS @ 2017-03-04 21:39:21


我也60了一次,b,c要从1开始,放不下应该直接等于f[a-1,b,c]。 我的是cpp,不放了。
by 彭骐飞 @ 2017-11-03 14:53:37


|