哦兄弟,我的dp怎么了

P5322 [BJOI2019] 排兵布阵

@[北射天狼](/user/289056) 哦兄弟我虽然不知到为什么,但是我把它压到一维他就过了( ```cpp #include <bits/stdc++.h> using namespace std; inline int read(){ int s = 0,f = 1;char c = getchar(); while (!isdigit(c)){if (c == '-')f = -1;c = getchar();} while (isdigit(c)){s = (s << 3) + (s << 1) + (c ^ 48);c = getchar();} return s*f; } const int N = 105; int s,n,m; int dp[200010]; int a[N][N]; int main() { s = read(); n = read(); m = read(); for (int i=1;i<=s;++i) for (int j=1;j<=n;++j) a[j][i] = read(); for (int i=1;i<=n;i++) sort(a[i]+1,a[i]+s+1); for (int i=1;i<=n;++i){ for (int k = m;k >= 0;--k){ for (int j=1;j<=s;j++){ int cnt = 2 * a[i][j] + 1; if (k >= cnt) dp[k] = max(dp[k], dp[k - cnt] + i * j); } } } cout << dp[m] << endl; return 0; } /* 1 10 100 8 14 7 8 8 14 11 9 7 14 */ ```
by FiraCode @ 2023-08-01 19:56:13


@[FiraCode](/user/528430) 哦兄弟,这不是题解的代码吗?
by 北射天狼 @ 2023-08-01 19:57:15


@[北射天狼](/user/289056) 哦兄弟,因为我没写过二维01背包,所以改成了一维,然后他就过了(
by FiraCode @ 2023-08-01 19:58:37


@[北射天狼](/user/289056) 感觉可能和这个有关? https://www.luogu.com.cn/discuss/525795
by bzzltl @ 2023-08-01 20:08:32


@[bzzltl](/user/699852) 哦不愧是大佬,这么强。 正如您所言,谢谢。
by 北射天狼 @ 2023-08-01 20:11:44


|