题目描述

在幻想乡,射命丸文是以偷拍闻名的鸦天狗。当然,文文的照相机可不止能够照相,还能够消除取景框里面所有的弹幕。假设现在文文面前有一块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个整数,表示文文能够取得的最大得分

样例输入

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

样例输出

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

用二维前缀和解,n^2预处理,n^2枚举矩形,O(1)查询

注意对于边界的处理

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN = 1000 + 5;
int map[MAXN][MAXN];
int n,m;
int r,c;
void get_sum()
{for(int i = 1;i <= n;i ++)for(int j = 1;j <= m;j ++)map[i][j] += map[i - 1][j] + map[i][j - 1] - map[i - 1][j - 1];return;
}
int sum(int a,int b,int c,int d)
{if(a < c)swap(a,c);if(b < d)swap(b,d);return map[a][b] - map[c - 1][b] - map[a][d - 1] + map[c - 1][d - 1];
}
int main()
{scanf("%d %d %d %d",&n,&m,&r,&c);for(int i = 1;i <= n;i ++)for(int j = 1;j <= m;j ++)scanf("%d",&map[i][j]);get_sum();int ans = 0;for(int i = 1;i <= n - r + 1;i ++)for(int j = 1;j <= m - c + 1;j ++)ans = max(ans,sum(i,j,i + r - 1,j + c - 1));printf("%d\n",ans);return 0;
}

关于二维前缀和

sum[i][j]表示
修改的话套个BIT(和这个题无关)
引用下神犇的课件

这个题查询时一样的,可暴力枚举两端点
嗯,就是这样了

转载于:https://my.oschina.net/u/2992707/blog/777995

【codevs 1373】射命丸文相关推荐

  1. codevs 1373 射命丸文

    codevs 1373 射命丸文 题目描述 Description 在幻想乡,射命丸文是以偷拍闻名的鸦天狗.当然,文文的照相机可不止能够照相,还能够消除取景框里面所有的弹幕.假设现在文文面前有一块N行 ...

  2. codevs 1373 射命丸文(矩阵前缀和)

    题目描述 Description 在幻想乡,射命丸文是以偷拍闻名的鸦天狗.当然,文文的照相机可不止能够照相,还能够消除取景框里面所有的弹幕.假设现在文文面前有一块N行M列的弹幕群,每一个单位面积内有分 ...

  3. 【CS 1373】射命丸文(二维前缀和)

    emmmm又是一个东方人物[好吧这不是重点],下面的前缀和和二维前缀和才是23333 去寻找偷拍记者吧 题目描述 Description 在幻想乡,射命丸文是以偷拍闻名的鸦天狗.当然,文文的照相机可不 ...

  4. [ CodeVS冲杯之路 ] P1116

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1116/ 数据很小,DFS可A,每层枚举颜色,判断相邻的点是否有重复的颜色,记得回溯时把颜色染回0,即无颜色 这里我使用 ...

  5. 【贪心】【codevs】1214 线段覆盖

    http://codevs.cn/problem/1214/ 我去这个题...wa的我都没脾气了... 我写while(~scanf("%d", &n))竟然是不对的... ...

  6. [codevs 1913] 数字梯形问题

    [codevs 1913] 数字梯形问题 题解: 本题就是加强版的 [codevs 1033] 蚯蚓的游戏问题. 分别针对三个规则建图.运行最小费用最大流. 规则1:从梯形的顶至底的m条路径互不相交. ...

  7. codevs 1002 搭桥

    codevs 第一道题 先贴描述 1002 搭桥  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果 题目描述 Description 有一矩 ...

  8. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞

    没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...

  9. codevs 1531 山峰

    codevs 1531 山峰 题目描述 Description Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, --, n.每个山峰的高度都是不一样的.编号为i的山峰高度为hi ...

最新文章

  1. LeetCode Partition List(链表分段)
  2. React JSX 实例图解
  3. align=absmiddle 是什么意思
  4. android 加载网络bitmap图片 oom 简书_Android常见问题--ImageView加载图片OOM
  5. JS 将JSON对象转换为字符串
  6. ASP母版页与内容页不同目录 链接问题
  7. 【编程珠玑】第十二章 取样问题
  8. Leetcode 224.基本计算器
  9. 编程初学者必须知道的十件事
  10. Mybatis-逆向工程
  11. ureport2学习笔记
  12. 十大管理之项目干系人管理知识点
  13. Hasor-RSF —— 分布式服务框架
  14. 防止PayPal帐号冻结和解冻的经验
  15. 阿里云Web应用防火墙-WAF
  16. 迅雷高速下载免安装 Kali Linux
  17. adas记录仪app_完爆行车记录仪,这款APP还能分析驾驶行为?老司机进来鉴定下...
  18. 程序与生活:网上看的一篇文章,据说越有钱越应该看
  19. 已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。 现给出一个整数K(k大于等于1小于等于15),要求计算出一个最小的n;使得Sn大于K。
  20. eclipse国内镜像下载资源

热门文章

  1. SI4455程序调试问题总结
  2. 齐鲁理工学院计算机专业在哪个校区,齐鲁理工学院有几个校区,哪个校区最好及各校区介绍...
  3. OpenCV 利用高斯模糊实现简单的磨皮美颜效果
  4. 中国的因特网低谷 ---- 2000:从希望云端到幻灭低谷
  5. 小程序获取城市行政区号_支付宝小程序开发——获取位置API没有城市区号的最佳处理方案...
  6. 超声波测距模块HC-SR04简介
  7. python有哪些细节描写_什么是细节描写?它又包括哪些方面?
  8. void func()与 func(void)的区别
  9. 2019杭电多校第七场 HDU - 6656 Kejin Player 期望
  10. python优点以及缺点