沙盘游戏(2017绍兴市第十五届少儿信息学竞赛复赛试题)
为了描述方便,Ivy把这个沙盘用n*m个整数来表示,每个整数所在位置表示沙盘中一个边长为1的小方格。
Ivy现在需要编程解决这样一个问题:在n*m(n行m列)个整数中选择一个x*y(x行y列)的方形区域(x最大可达n,y最大可达m),使得这x*y个整数之和是所有可以选择的方形区域中最大的,并输出这个最大总和值。
输入
下面有n行,每行m个整数(每个整数的范围是-200到200)组成的数据。
输出
n,m<280;
样例输入
3 3 10 -21 9 7 8 4 -6 1 0
样例输出
19
(n*m)^2的复杂度肯定是不行的,这就需要优化一下了;
首先维护一个二维前缀和;然后遍历x坐标的所有区间(n^2)
然后遍历Y轴(m),每次维护一个大于零的底边;也就是说如果Y遍历的时候得到的子矩阵和小于零,更新底边,(下次的时候再加前面没意义了)
所以这样就优化到(n*n*m)的复杂度
代码呈上;
#include <bits/stdc++.h> #define maxn 1000005 using namespace std; typedef long long ll; using namespace std; int main() {int s[300][300];int a[300][300];memset(s,0,sizeof(s));int n,m;scanf("%d%d",&n,&m);for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){scanf("%d",&a[i][j]);s[i][j]+=a[i][j];s[i][j]+=s[i-1][j];s[i][j]+=s[i][j-1];s[i][j]-=s[i-1][j-1];}}/*for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){printf("%d ",s[i][j]);}printf("\n");}*/int maxx=-1e8;for(int i=1; i<=n; i++){for(int j=0; j<i; j++){int rec=0;for(int w=1; w<=m; w++){if(s[i][w]-s[j][w]-s[i][rec]+s[j][rec]>0){if(s[i][w]-s[j][w]-s[i][rec]+s[j][rec]>maxx){maxx=s[i][w]-s[j][w]-s[i][rec]+s[j][rec];//printf("%d %d %d %d\n",i,j,w,rec); }}else{if(s[i][w]-s[j][w]-s[i][rec]+s[j][rec]>maxx){maxx=s[i][w]-s[j][w]-s[i][rec]+s[j][rec];//printf("%d %d %d %d\n",i,j,w,rec); }rec=w;}}}}printf("%d\n",maxx);return 0; }
转载于:https://www.cnblogs.com/xiaolaji/p/9533179.html
沙盘游戏(2017绍兴市第十五届少儿信息学竞赛复赛试题)相关推荐
- 绍兴市第十六届计算机复赛试题,绍兴市第十七届少儿信息学竞赛复赛试题
绍兴市第十七届少儿信息学竞赛复赛试题 (考试时间:150分钟) 一.题目一览 中文题目名称 英文题目名称 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 听歌识曲 song son ...
- 2016年蜀山区第十五届青少年信息学竞赛
2016年蜀山区第十五届青少年信息学竞赛 小学组试题 一.题目概况 题目名称 求差 生日 抓牛 工资 文件名
- 2016年第31届宁波市信息学竞赛复赛试题 D 射击
题目本体 题目描述 不难发现,豆豆能从很多事情中去思考数学,于是豆豆父母决定让他去练习射击,这是项需要集中注意力的运动,相信能够让豆豆暂时脱离数学.学习射击的第一天就让豆豆产生了浓厚的兴趣,射击的靶子 ...
- 2017年第十五届Esri中国用户大会资料分享
原文地址:2017年第十五届Esri中国用户大会资料分享 2017年10月24-25日,在北京国际会议中心举办了第十五届Esri中国用户大会,今年用户大会的主题是:Applying the Scien ...
- 2017年第二十五届中国(深圳)国际礼品及家居用品展览会会刊(参展商名录)
2017年第二十五届中国(深圳)国际礼品及家居用品展览会会刊(参展商名录) 展会名称: 2017年第二十五届(中国)国际礼品及家居用品展览会 所属展馆: 深圳会展中心 开展时间: 2017-04-25 ...
- 第十五届全国青少年信息学奥林匹克联赛初赛试题
第十五届全国青少年信息学奥林匹克联赛初赛试题(2009年),我只摘录了选择题,部分题目做了注解. 一.单项选择题 1.关于图灵机下面的说法哪个是正确的: A.图灵机是世界上最早的电子计算机. B.由于 ...
- 第十五届智能车竞赛技术报告-成电金秋-AI电磁
01引言 1.1 大赛介绍 全国大学生"恩智浦"杯智能汽车竞赛是以"立足培养.重在参与.鼓励 探索.追求卓越"为宗旨,鼓励创新的一项科技竞赛活动.今年首次新增了 ...
- 第十五届智能车竞赛芯片选型浅析
➤ 01第十五届竞赛 众所周知,第十五届智能车竞赛虽然来晚了几个月,但依然热闹非凡,芯片厂商不再由NXP独家提供,呈现了卓老师所说的三足鼎立的局面,可以选择由NXP.Infineon.STC三家公司提 ...
- 2022.3.12 绍兴文理学院元培学院第十五届大学生程序设计竞赛
绍兴文理学院元培学院第十五届大学生程序设计竞赛 A 阳光明媚的数学题 B 爱的素数 C 庄生的笔 D 上流的聚餐 E 规划(一) F 规划(二) G 运动的球球 H 物资转移 I 小杨环 J 前四位 ...
最新文章
- mysql如何下载连接到visual_Visual Studio 2015 Community连接到Mysql
- 代码 设计 生活 (2)--- 菜鸟
- python3语法糖------装饰器
- java 委托_动态代理:Java开发必学
- python linux教程_在RedHat系统Linux上部署Python的Celery框架的教程
- 女人赢了 未来500万年男性将灭绝
- 遍历Linux kernel的链表时删除元素的方法
- 解决 【xshell 5 不能使用退格键和Delete建】的问题
- Shiro 登录认证源码详解
- Enterprise Continuous Integration with Binary Dependencies example
- 鼠标自动点击脚本_613个主流网站中发现点击劫持脚本
- mysql monitor用户_Mysql的用户基本操作
- 人生苦短快用python_人生苦短,快用 Python
- python花瓣飘零_PYTHON抓取花瓣网高清美图
- 全方位了解8.0系统下的Handler
- 虫师乙醇自动化测试培训第三期
- note2刷 android 5.0.2,三星Galaxy Note Pro 12.2 Android 5.0.2更新锁定了竞争对手的键盘
- 贴吧顶帖工作室(贴吧怎么顶帖)
- Spring框架究竟是什么
- Http的多线程下载
热门文章
- java matcher group方法_Java中正则表达式相关类中Matcher.group()方法
- php ajax 实现三级省市区联动
- 赶紧入手,python面试题之Python如何实现单例模式?
- Redis进阶篇:发布订阅模式原理与运用
- 模拟冯.诺依曼计算机
- Python学习 Day43 数据解析-BeautifulSoup 07
- 2022华东杯A题核酸检测问题思路讲解
- 写在冬日的第一天--一个女程序员第十六年工作总结
- linux 移动硬盘 machine,MacBook使用一块移动硬盘做Win To Go及Time Machine备份
- python-pyqt5-初识-2基本操作