题目描述

在幻想乡,八云紫是最像妖怪的妖怪。她的境符「四重结界」能够消除结界里面所有的弹幕。假设现在八云紫面前有一块N行M列的弹幕群,每一个单位面积内有分值有num[i][j]的弹幕。八云紫可以将一块R行C列的弹幕消除,并且得到这一块区域内所有弹幕的分值(累加)。现在八云紫想要取得尽可能多的分值,请你计算出她最多能够得到的分值。

输入

第1行:4个正整数N,M,R,C 第2..N+1行:每行M个正整数,第i+1行第j个数表示num[i][j]

输出

第1行:1个整数,表示八云紫能够取得的最大得分

样例输入 Copy

3 5 2 3
5 2 7 1 1
5 9 5 1 5
3 5 1 5 3

样例输出 Copy

33

提示

对于60%的数据:1 <= N,M <= 200
对于100%的数据:1 <= N,M <= 1,000 1 <= R <= N, 1 <= C <= M 1 <= num[i][j] <= 1000
保证结果不超过2,000,000,000

思路:

先用二维前缀和处理数组,在枚举所有的矩形,求最大值。

代码:

#include <bits/stdc++.h>
using namespace std;
int sum[1005][1005];//前缀和数组
int main()
{int a,b,n,m,i,j,ans=0;cin>>n>>m>>a>>b;for(i=1;i<=n;i++)for(j=1;j<=m;j++)scanf("%d",&sum[i][j]);for(i=1;i<=n;i++)for(j=1;j<=m;j++)sum[i][j]+=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1];//计算前缀和for(i=a;i<=n;i++)for(j=b;j<=m;j++)ans=max(ans,sum[i][j]-sum[i][j-b]-sum[i-a][j]+sum[i-a][j-b]);//枚举cout<<ans;return 0;
}

二维前缀和数组实现

sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j],可只用一个数组

计算由点(x1,y1),(x2,y2)为对角线构成的矩形数值之和(x1<x2,y1<y2)

ans=sum[x2][y2]-sum[x1-1][y2]-sum[x2][y1-1]+sum[x1-1][y1-1]

12871: 八云紫(二维前缀和)相关推荐

  1. Monitor CodeForces - 846D ——二维前缀和

    Recently Luba bought a monitor. Mon itor is a rectangular matrix of size n × m. But then she started ...

  2. 二维前缀和+差分 HDU6514 Monitor

    Monitor [ HDU - 6514 ] 题目大意:给你个n×m的区域,每个区域被选中标记为1,没被选中标记为0,然后给一些标记的区域,查询若干个区域问是否有0的 一道二维前缀和的题目,想通没什么 ...

  3. 牛妹吃豆子(二维前缀和模板,修改+求和)

    调了半天忘了要求两次前缀和了. 先对前缀和数组进行修改, 第一次求前缀和得到的是修改后的原矩阵,再求一次前缀和得到二维前缀和,然后根据容斥定理求区间的二维前缀和即可 #include<iostr ...

  4. 【每日DP】day3 P1387 最大正方形(奇怪的DP增加了 / 二维前缀和)难度⭐⭐★

    奇怪的DP增加了 这道题,刚看见真是一脸懵逼,看了题解才明白. 本题中神奇的转移方程是: f[i][j]=min(min(f[i][j−1],f[i−1][j]),f[i−1][j−1])+1f[i] ...

  5. 《算法竞赛进阶指南》打卡-基本算法-AcWing 99. 激光炸弹:二维前缀和

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 前缀和习惯从下标1开始. 注意:本题是不包含边界的.什么意思? 以样例为例,这里有两个点,分别在(0,0) 和(1,1),且攻击的矩 ...

  6. 海啸(二维前缀和/二维树状数组)

    链接:https://ac.nowcoder.com/acm/problem/21862 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  7. 中石油训练赛 - Block(二维前缀和+思维)

    题目描述 Alice得到了一张由n×m个黑白像素点组成的图片,她想要压缩这张图片.压缩图片的过程如下: 1.首先,选择一个正整数k(k>1),将图片划分成若干个k×k的小块.如果n,m不能被k整 ...

  8. 牛客 - 捡金币(思维+二维前缀和+构造)

    题目链接:点击查看 题目大意:给出一个n*m的矩阵,每个方格都有一个权值,现在给出q次询问,每次询问的格式是x,y,k,问与点(x,y)的曼哈顿距离不超过k的方格内的所有权值之和 题目分析:首先这个题 ...

  9. leetcode 304. Range Sum Query 2D - Immutable |304. 二维区域和检索 - 矩阵不可变(二维前缀和问题)

    题目 https://leetcode.com/problems/range-sum-query-2d-immutable/ 题解 本题是 medium 难度,二维前缀和问题.相似题目有: Easy: ...

最新文章

  1. Python之基础知识
  2. php建立数据库操作类,PHP数据库操作类的定义及使用
  3. 计算机网络实验(思科模拟器Cisco Packet Tracer)——路由器配置
  4. 我的mongoose代码备份
  5. Spring Cloud Config Server
  6. textbox的textmode取为multiline多行时,其maxlength不起作用
  7. 【实用工具】借助adb在android机上测试
  8. 修改QQ聊天窗口大小
  9. Python编程:数据可视化《Python编程:从入门到实践 第2版》笔记
  10. 探索图片填充模式二--CenterCrop模式的实现
  11. zabbix保姆级安装教程
  12. atmega 128 单片机 开发 例子 例程 教程 ADC PWM 呼吸灯
  13. 量化投资学习——股指期货研究(八)
  14. 老陕解读:陕西10大泡馍的品尝诀窍
  15. 电脑卡怎么办?4招帮你解决电脑卡顿的烦恼!
  16. web概念、B/C、C/S区别与优缺点以及网络通信三要素:IP、端口号、传输地址
  17. 自由幻想系统不能提供服务器,系统指南-自由幻想召集令-QQ自由幻想官方网站...
  18. android 创建aar包
  19. 【CES遇见人工智能】欧莱雅发微型可穿戴设备:可帮助保护你的皮肤
  20. WiFi路由器SRRC认证需要准备什么资料?

热门文章

  1. 网络工程师成长日记383-某银行某市中心支行市县网络扩容项目工程感想
  2. html识别文字转语音,万能君工具箱v1.8 - 基于百度AI实现语音转文字/文字转语音/文字识别OCR/翻译...
  3. 追觅、戴森、小狗吸尘器,谁的性价比最高
  4. python django web典型模块开发实战_带你读《Python Django Web典型模块 开发实战》之一:从新浪微博聊起多端应用-阿里云开发者社区...
  5. SharePoint 2010 图片库Web部件
  6. 被通知一个月离职,我修改了项目中的所有注释……
  7. 双层规划、MPEC、EPEC
  8. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~22开始游戏-穿越楼层
  9. sriov开启混杂模式
  10. 网站响应时间优化思路你知道几个?