请求加强数据,n^3的代码也A了
  • 板块P4147 玉蟾宫
  • 楼主xpc2024
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/10 16:47
  • 上次更新2024/8/10 17:55:20
查看原帖
请求加强数据,n^3的代码也A了
137172
xpc2024楼主2024/8/10 16:47

加权变成最大子矩阵和,一维矩阵和 + dp最大子序列。O(n3n^3), 惊险AC。 图片+代码如下: (AC图片)

#include <bits/stdc++.h>
using namespace std;

int sum[1005][1005];
const int INF = -1e5;
int dp[1005];

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);
	int n, m;
	cin >> n >> m;
	for(int i = 1; i <= n; ++ i) {
		for(int j = 1; j <= m; ++ j) {
			char c;
			cin >> c;
			if(c == 'R')  sum[i][j] = INF;
			else sum[i][j] = 1;
			sum[i][j] += sum[i][j - 1];
		}
	}

	int ans = 0;
	for(int l = 1; l <= m; ++ l) { // 开始列
		for(int r = l; r <= m; ++ r) { // 结束列
			memset(dp, 0, sizeof(dp));
			for(int i = 1; i <= n; ++ i) {
				int t = sum[i][r] - sum[i][l - 1];
				dp[i] = max(dp[i - 1] + t, t);
				ans = max(ans, dp[i]);
			}
		}
	}

	cout << 3 * ans;
	return 0;
}
2024/8/10 16:47
加载中...