1 条题解
-
0
自动搬运
来自洛谷,原作者为

Tjaweiof
资瓷互关 | 需要壶关请私信 | 蓝名不要再找我互关了 | ENTP-A搬运于
2025-08-24 23:17:43,当前版本为作者最后更新于2025-06-11 15:12:46,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
P12722 题解
容易发现,第 列的输出值不可能作为 的输入值。因为其作为 的输入值,并且 的输出值作为 的输入值的时候显然更优。
于是设输出值为 。
Code
#include <bits/stdc++.h> using namespace std; #define FILE(x) freopen(x".in", "r", stdin);freopen(x".out", "w", stdout); int n, m, a[2001][2001], dp[2001][2001], ans; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); char c; cin >> n >> m; for (int i = 1; i <= n; i++){ for (int j = 1; j <= m; j++){ cin >> c; a[i][j] = c - 48; } } for (int i = 1; i <= m; i++){ for (int j = 1; j <= n; j++){ dp[j][i] = max(dp[j - 1][i - 1], max(dp[j][i - 1], dp[j + 1][i - 1])) + a[j][i]; if (i == m){ ans = max(ans, dp[j][i] - a[j][i]); } } } cout << ans; return 0; }
- 1
信息
- ID
- 12456
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者