我按照背包模板打的,为什么只过了三个点!?

P1048 [NOIP2005 普及组] 采药

#233
by Niscet @ 2017-07-20 08:59:10


23333数组小了 @ 汪添翼
by ustze @ 2017-07-20 09:18:33


@[汪添翼](/space/show?uid=24617) 最后输出f[n][m] 并不是在数组里取最大值
by 封癫 @ 2017-07-20 09:21:58


压一维,二维可能会爆。
by psk2016 @ 2017-07-20 09:43:35


@[封癫](/space/show?uid=25815) 改过之后还是30分……我都要崩溃了 ```cpp #include <iostream> using namespace std; int m,n,w[1000],c[1000],f[1000][1000]; int main() { cin >> m >> n; for (int i=1;i<=n;++i) cin >> w[i] >> c[i]; for (int i=1;i<=n;++i) 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]); else f[i][v] = f[i-1][v]; } cout << f[n][m]; return 0; } ```
by Niscet @ 2017-07-20 09:44:10


@[psk2016](/space/show?uid=34720) 1 <= T <= 1000和1 <= M <= 100,数据范围比较小,应该可以用二维吧……还是我的rp不好
by Niscet @ 2017-07-20 09:46:19


数组要开1001 2333333
by ustze @ 2017-07-20 09:49:24


转一维吧
by 封癫 @ 2017-07-20 09:51:19


hehe你数组开小了
by 封癫 @ 2017-07-20 09:52:50


我改大了一点交了一次 一点事没有
by 封癫 @ 2017-07-20 09:53:16


| 下一页