关于本题
  • 板块P10463 To the Max
  • 楼主水星湖psgqwq
  • 当前回复9
  • 已保存回复11
  • 发布时间2024/7/14 18:09
  • 上次更新2024/7/14 19:53:10
查看原帖
关于本题
974277
水星湖psgqwq楼主2024/7/14 18:09

记得没写过这题,但是 AC 了,看了眼记录发现不是这个题的代码。

https://www.luogu.com.cn/record/159336228

#include<cstdio>
#include<iostream>
#include<algorithm>
#define m n
using namespace std;
int n,s[405][405],a[405][405],f[405],ans = -2e9, b[405];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			cin>>a[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			s[j][i] = s[j][i-1] + a[i][j];
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n;j++){
			for(int k=1;k<=m;k++){
				b[k] = s[k][j] - s[k][i-1];
				f[k] = -2e9;
			}
			for(int k=1;k<=m;k++){
				f[k] = max(b[k],f[k-1]+b[k]);
				ans = max(ans,f[k]);
			}
		}
	}			
	cout << ans << endl;
	return 0;
}
2024/7/14 18:09
加载中...