前缀和与差分——最大加权矩形
前缀和与差分——最大加权矩形
题目描述
为了更好的备战 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;
}
前缀和与差分——最大加权矩形相关推荐
- 洛谷[P1719 最大加权矩形] {前缀和与差分} 奋斗的珂珂~
洛谷[P1719 最大加权矩形] {前缀和与差分} 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电 ...
- 洛谷 P1719 最大加权矩形 (前缀和,动态规划)
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
- P1719 最大加权矩形(二维前缀和Java)
P1719 最大加权矩形 题目链接:https://www.luogu.com.cn/problem/P1719 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为 ...
- P1719 最大加权矩形(最大连续子段和+矩形二维降一维+前缀和)
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
- 最大加权矩形 压缩+前缀和+dp
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
- P1719 最大加权矩形【前缀和】
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
- 洛谷题单 算法2-1 前缀和与差分
前缀和是一种重要的预处理,能大大降低查询的时间复杂度,而差分则是一种和前缀和相对的策略. 海底高铁 题目背景 大东亚海底隧道连接着厦门.新北.博艾.那霸.鹿儿岛等城市,横穿东海,耗资1000亿博艾元, ...
- 洛谷——前缀和与差分
前缀和与差分 文章目录 前缀和与差分 应用总结 前缀和 截断数组 思路 代码 最大加权矩形 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 思路 代码 差分 海底高铁 ...
- 0x03.基本算法 — 前缀和与差分
目录 一.前缀和 二.二维前缀和 1.二维前缀和的修改和求和 0. NOI 2003激光炸弹(二维前缀和) 1.牛妹吃豆子(二维前缀和模板,修改+求和) 2.静态数组的区间求和问题 3.静态维护区间加 ...
最新文章
- DOSbox汇编环境配置
- webpack优化相关操作
- JavaDoc命令使用说明
- 屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python
- ios8升级ios12教程_iOS Hello World示例教程
- 用于小儿肺炎检测的无代码AI
- 红帽RHCA考试内容解析
- 请求转发与重定向详解
- 使360浏览器自动使用最高IE内核
- 有多少旅游企业入驻了抖音平台?有多少抖音用户喜欢看旅游视频?
- Hypothesis Test Overview
- 浙大提出神经3D重建新工作!收录图形学顶会SIGGRAPH 2022
- 高通骁龙875夺安卓处理器桂冠,但外挂5G基带成为它的弊病
- 好好吃饭,才是最大的教养
- 非对称加密之公钥加密与私钥加密的应用场景
- XDOJ 哥德巴赫猜想
- HttpRunner 3.x快速上手
- 多维数组VS多维空间
- 人而无梦 不知其可矣
- 西天取经团队中,开源节流时老板最先裁员谁?