博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2630 宝库通道
阅读量:5772 次
发布时间:2019-06-18

本文共 1012 字,大约阅读时间需要 3 分钟。

2630 宝库通道

 

 时间限制: 1 s
 空间限制: 256000 KB
 题目等级 : 黄金 Gold
 
 
 
题目描述 
Description

由于你的帮助,小可可终于来到了宫殿的正厅中。大厅的地面是由一块块大小一致的正方形石块组成的,这些石块分为黑、白两色,组成了一个m*n的矩形,在其中一个石块的下面就是通往藏宝库的通道。小可可不可能一个一个石块的尝试,因为有些石块安装了机关,一碰就会触发,整个宫殿也随之倒塌。根据藏宝图记载,通道在某一特定的区域中,这个区域是一个由数个石块组成的面积不为0的小矩形,它的四条边与大厅地面的边平行。如果对整个大厅地面任意划分矩形,那么在所有矩形中,这个区域的黑色石块数目减去白色石块数目所得的差是最大的。

小可可希望和你分工,由他来选择区域,你来计算黑、白两色石块的数目差S。这样就能快速而准确的确认通道所在的区域。藏宝图上说这个区域中的石块都没有安装机关,只要确定了区域,就一定能找到通道。宝藏就在眼前了,加油吧!

(假设用1表示黑色石块,用0表示白色石块)

 

输入描述 
Input Description

输入:输入文件的第一行为两个整数m,n (1<=m,n<=400).

以下m行,每行n个字符,每个字符都是0或1。

输出描述 
Output Description

输出:输出文件仅一个数,表示所有可能的区域中S值(见前文描述)最大的一个,输出这个值即可。

样例输入 
Sample Input

输入:

3 4

1011

1111

1111

样例输出 
Sample Output

 

输出:

 

10

 

数据范围及提示 
Data Size & Hint

 (1<=m,n<=400)

 

分类标签 Tags 

 
题解:
枚举端点+最大子段和O(n)算法
总 O(n^3)
AC代码:
#include
using namespace std;const int N=1e3+10;int n,m,ans,s[N],a[N][N];void deal(){ int b=0; for(int i=1;i<=n;i++){ if(b>0) b+=s[i]; else b=s[i]; if(ans

 

 

转载于:https://www.cnblogs.com/shenben/p/5931327.html

你可能感兴趣的文章
【人物志】美团前端通道主席洪磊:一位产品出身、爱焊电路板的工程师
查看>>
一份关于数据科学家应该具备的技能清单
查看>>
机器学习实战_一个完整的程序(一)
查看>>
Web框架的常用架构模式(JavaScript语言)
查看>>
如何用UPA优化性能?先读懂这份报告!
查看>>
这些Java面试题必须会-----鲁迅
查看>>
Linux 常用命令
查看>>
NodeJS 工程师必备的 8 个工具
查看>>
CSS盒模型
查看>>
ng2路由延时加载模块
查看>>
使用GitHub的十个最佳实践
查看>>
全面了解大数据“三驾马车”的开源实现
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
基于干净语言和好奇心的敏捷指导
查看>>
Node.js 2017企业用户调查结果发布
查看>>
“软”苹果水逆的一周:杂志服务崩溃,新机型遭泄露,芯片首架离职
查看>>
JAVA的优势就是劣势啊!
查看>>
ELK实战之logstash部署及基本语法
查看>>
帧中继环境下ospf的使用(点到点模式)
查看>>