前缀和与差分——最大加权矩形

题目描述

为了更好的备战 NOIP2013,电脑组的几个女孩子 LYQ,ZSC,ZHQ 认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没有马上答应他们,而是先给她们出了一道数学题,并且告诉她们:你们能获得的运动场地的面积就是你们能找到的这个最大的数字。

校长先给他们一个N*N 矩阵。要求矩阵中最大加权矩形,即矩阵的每一个元素都有一权值,权值定义在整数集上。从中找一矩形,矩形大小无限制,是其中包含的所有元素的和最大 。矩阵的每个元素属于 [-127,127],例如

在左下角:

和为15。

几个女孩子有点犯难了,于是就找到了电脑组精打细算的 HZH,TZY 小朋友帮忙计算,但是遗憾的是他们的答案都不一样,涉及土地的事情我们可不能含糊,你能帮忙计算出校长所给的矩形中加权和最大的矩形吗?

输入格式

第一行:n,接下来是 n 行 n 列的矩阵。

输出格式

最大矩形(子矩阵)的和。

输入输出样例

输入样例

4
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2

输出样例

15

说明/提示

n <= 120

分析

设sum[i][j] 为左上角为 (1,1),右下角为 (i,j) 的矩形的面积,而某一个矩形的左上角的坐标为 (x1,y1),右下角的坐标为 (x2,y2),则该矩形的面积为 sum[x2][y2] - sum[x2][y1-1] - sum[x1-1][y2] + sum[x1-1][y1-1]。

#include<bits/stdc++.h>
using namespace std;
int n,a[125][125],b[125][125],sum[125][125];int main()
{cin>>n;memset(sum,0,sizeof(sum));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];b[i][j]=b[i][j-1]+a[i][j];   // 计算第 i 行到 j 的前缀和sum[i][j]=sum[i-1][j]+b[i][j];  // 计算以 (1,1) 为左上角,(i,j) 为右下角的矩阵和 }}int mx=sum[1][1];for(int x1=1;x1<=n;x1++){for(int y1=1;y1<=n;y1++){for(int x2=x1;x2<=n;x2++){for(int y2=y1;y2<=n;y2++){mx=max(mx,sum[x2][y2]-sum[x2][y1-1]-sum[x1-1][y2]+sum[x1-1][y1-1]);}}}}cout<<mx<<endl;return 0;
}

前缀和与差分——最大加权矩形相关推荐

  1. 洛谷[P1719 最大加权矩形] {前缀和与差分} 奋斗的珂珂~

    洛谷[P1719 最大加权矩形] {前缀和与差分} 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电 ...

  2. 洛谷 P1719 最大加权矩形 (前缀和,动态规划)

    题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...

  3. P1719 最大加权矩形(二维前缀和Java)

    P1719 最大加权矩形 题目链接:https://www.luogu.com.cn/problem/P1719 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为 ...

  4. P1719 最大加权矩形(最大连续子段和+矩形二维降一维+前缀和)

    题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...

  5. 最大加权矩形 压缩+前缀和+dp

    题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...

  6. P1719 最大加权矩形【前缀和】

    题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...

  7. 洛谷题单 算法2-1 前缀和与差分

    前缀和是一种重要的预处理,能大大降低查询的时间复杂度,而差分则是一种和前缀和相对的策略. 海底高铁 题目背景 大东亚海底隧道连接着厦门.新北.博艾.那霸.鹿儿岛等城市,横穿东海,耗资1000亿博艾元, ...

  8. 洛谷——前缀和与差分

    前缀和与差分 文章目录 前缀和与差分 应用总结 前缀和 截断数组 思路 代码 最大加权矩形 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 思路 代码 差分 海底高铁 ...

  9. 0x03.基本算法 — 前缀和与差分

    目录 一.前缀和 二.二维前缀和 1.二维前缀和的修改和求和 0. NOI 2003激光炸弹(二维前缀和) 1.牛妹吃豆子(二维前缀和模板,修改+求和) 2.静态数组的区间求和问题 3.静态维护区间加 ...

最新文章

  1. DOSbox汇编环境配置
  2. webpack优化相关操作
  3. JavaDoc命令使用说明
  4. 屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python
  5. ios8升级ios12教程_iOS Hello World示例教程
  6. 用于小儿肺炎检测的无代码AI
  7. 红帽RHCA考试内容解析
  8. 请求转发与重定向详解
  9. 使360浏览器自动使用最高IE内核
  10. 有多少旅游企业入驻了抖音平台?有多少抖音用户喜欢看旅游视频?
  11. Hypothesis Test Overview
  12. 浙大提出神经3D重建新工作!收录图形学顶会SIGGRAPH 2022
  13. 高通骁龙875夺安卓处理器桂冠,但外挂5G基带成为它的弊病
  14. 好好吃饭,才是最大的教养
  15. 非对称加密之公钥加密与私钥加密的应用场景
  16. XDOJ 哥德巴赫猜想
  17. HttpRunner 3.x快速上手
  18. 多维数组VS多维空间
  19. 人而无梦 不知其可矣
  20. 西天取经团队中,开源节流时老板最先裁员谁?

热门文章

  1. linux安装cacti
  2. 看见“信任”,可信计算史上最全解析
  3. Speedoffice(PPT)怎么自定义设置幻灯片大小
  4. IM云服务领域,融云因何得以登上浪潮之巅?
  5. BufferedWriter详解
  6. C语言的字符串输入gets()函数
  7. kermit 安装 配置 使用
  8. IOS相关培训机构课程内容汇总
  9. 用户权限控制(Token登录)
  10. 工地人员定位原理又是什么--新导智能