首页 > 其他 > 详细

洛谷p1719(最大加权矩形)

时间:2020-03-15 17:40:20      阅读:66      评论:0      收藏:0      [点我收藏+]

二维前缀和啊

技术分享图片

 

 知道这,接下来就好办了,三个数组分别记录就好

代码;

#include<bits/stdc++.h>
#define  ll long long
const int maxn=1300;
const int inf=-0x3f3f3f;

using namespace std;
int mp[maxn][maxn];
int qz[maxn][maxn],sum[maxn][maxn];

void solve()
{
    int n;
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n; j++)
        {
            cin>>mp[i][j];
            qz[i][j]=qz[i][j-1]+mp[i][j];//前缀和
            sum[i][j]=qz[i][j]+sum[i-1][j];//一个矩阵的和
        }
    }
    int mx=inf;
    for(int x1=1; x1<=n; x1++)
      for(int y1=1; y1<=n; y1++)
        for(int x2=1; x2<=n; x2++)
          for(int y2=1; y2<=n; y2++)
          {
              if(x1>x2||y1>y2) continue;
              mx=max(mx,sum[x2][y2]-sum[x2][y1-1]-sum[x1-1][y2]+sum[x1-1][y1-1]);
          }
    cout<<mx; 
    return ;
}

int main()
{
    solve();
    return 0;
}

 原题链接:https://www.luogu.com.cn/problem/P1719

洛谷p1719(最大加权矩形)

原文:https://www.cnblogs.com/sweetlittlebaby/p/12498584.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!