真的好苦逼,这道神题,交了几十次都是70分,剩下的都TLE了,崩溃。

没办法,只能这样了。在网上看了别人的算法,大概思想是把三维的先压成两维,再把二维的弄成一维,这样就很容易了。

首先先累计从最底层到第i层的值,然后枚举i,j把第i层到第j层之间的值的和都算出来,就降成了二维,然后再去类似的枚举,降成简单的一维。

从这道题中学到了

1 输入优化是很重要的。

2 根据题目特点,可采取更优的循环方式。

3 max不能滥用,最好还是用比较的方式,效率比较高。

4 inline应该是有用。

#include<cstdio>
#include<cctype>
#include<cstring>
#define rep(i,j,k) for(int i = j; i <= k; i++)
#define maxn 60
using namespace std;int key[maxn][maxn][maxn], f[maxn][maxn] = {0}, dp[maxn];
int h, x, y;inline int read() //重要的输入优化
{int s = 0, t = 1; char c = getchar();while( !isdigit(c) ){if( c == '-' ) t = -1; c = getchar();}while( isdigit(c) ){s = s * 10 + c - '0'; c = getchar();}return s * t;
}int maxsum3()
{int ans = -0xfffffff;rep(i,1,h){rep(j,i,h){rep(k,1,x){rep(l,1,y){f[k][l] = key[j][k][l] - key[i-1][k][l];}}//重要优化所在,不要枚举k和l之间的所有值,把他们一次性算出来后,清零,下一次再重算,而是采用这种不断累加的方式。rep(k,1,x){memset(dp,0,sizeof(dp));rep(l,k,x){rep(t,1,y) dp[t] += f[l][t];int sum = 0;rep(t,1,y){if( sum > 0 ) sum += dp[t];else sum = dp[t];if( ans < sum ) ans = sum;}}}}}return ans;
}int main()
{h = read(), x = read(), y = read();rep(i,1,h){rep(j,1,x){rep(k,1,y){key[i][j][k] = read();key[i][j][k] += key[i-1][j][k];}}}int ans = maxsum3();printf("%d\n", ans);return 0;
}

多学,多积累,加油。

转载于:https://www.cnblogs.com/83131yyl/p/5031028.html

吃西瓜 最大子矩阵 三维的。 rqnoj93相关推荐

  1. 【最大立方体和】吃西瓜rqnoj93

    吃西瓜rqnoj93 题目描述 [说明]此题中出现的所有数全为整数 [背景]SubRaY有一天得到一块西瓜,是长方体形的.... [题目描述]SubRaY发现这块西瓜长m厘米,宽n厘米,高h厘米.他发 ...

  2. 【DP~最大子立方体】吃西瓜

    吃西瓜[matrix.pas/c/cpp] [说明]此题中出现的所有数全为整数 [背景]SubRaY有一天得到一块西瓜,是长方体形的.... [题目描述]SubRaY发现这块西瓜长m厘米,宽n厘米,高 ...

  3. 其实人是有潜力的,比如吃西瓜

    从今天早上刚出门,就计划好了今天将是蛮累的一天.在这一天快要结束的时候,发现 比我想象的要累多了~ 早上去新区还书,顺便借耳机,明天这辈子最后一次英语考试.新区真偏僻,蛋都不生鸟一地方,把那些大一大二 ...

  4. 夏天吃西瓜10大禁忌必须知道

    吃西瓜是夏天必做的一件事之一,西瓜作为消暑解渴的最佳水果,自然在夏天收到很多人喜爱,但在食用西瓜时,一些禁忌也必须时刻小心. 吃西瓜有什么好处? <本草纲目>中说西瓜甘寒无毒,不仅&quo ...

  5. c语言程序设计猪八戒吃西瓜,三年级语文下册教案——《猪八戒吃西瓜》教学设计之二...

    [教学要求] 1.运用工具书学习并理解课文中生字和词语的意思. 2.了解课文主要内容,培养自学能力. 3.了解猪八戒的性格特点,结合心理活动描写学习刻画人物的方法. 4.了解<西游记>的文 ...

  6. [洛谷 P3788] 幽幽子吃西瓜

    妖梦费了好大的劲为幽幽子准备了一个大西瓜,甚至和兔子铃仙打了一架.现在妖梦闲来无事,就蹲在一旁看幽幽子吃西瓜.西瓜可以看作一个标准的球体,瓜皮是绿色的,瓜瓤是红色的,瓜皮的厚度可视为0.妖梦恰好以正视 ...

  7. c语言程序设计猪八戒吃西瓜,猪八戒吃西瓜教学设计

    猪八戒吃西瓜教学设计 作为一位杰出的老师,往往需要进行教学设计编写工作,教学设计把教学各要素看成一个系统,分析教学问题和需求,确立解决的程序纲要,使教学效果最优化.那么问题来了,教学设计应该怎么写?以 ...

  8. 动态规划 RQNOJ 吃西瓜 最大子段和三维版

    题目描述 [说明]此题中出现的所有数全为整数 [背景]SubRaY有一天得到一块西瓜,是长方体形的.... [题目描述]SubRaY发现这块西瓜长m厘米,宽n厘米,高h厘米.他发现如果把这块西瓜平均地 ...

  9. 「BSOJ2040」 吃西瓜 - Dp/三维最大子长方体

    题目描述 说明:此题中出现的所有数全为整数 SubRaY有一天得到一块西瓜,是长方体形的.... SubRaY发现这块西瓜长m厘米,宽n厘米,高h厘米.他发现如果把这块西瓜平均地分成m*n*h块1立方 ...

最新文章

  1. html工具提示错误,HTML-KickStart工具提示错误
  2. Python爬取Json格式数据并读写(改中文编码)
  3. php-fmp开机启动,php-fpm设置成服务并开机自动启动
  4. vnc改ip_如何使用VNC进行远程桌面控制
  5. progress组件(进度条)
  6. listary什么意思_listary使用心得
  7. 五个很厉害的 CNN 架构
  8. SAP License:最近收到的信(审计人员关于成本问题的请教)
  9. 基于Givens变换的QR分解
  10. python server agent_Python实现Windows监控agent(上)
  11. jeecg框架中时间控件时分秒的显示
  12. 项目整体管理:实施整体变更控制
  13. 7、前后端分离中的权限管理思路
  14. github上12306抢票使用说明
  15. 【时间纷飞】死人,死人
  16. K - 一只小蜜蜂...
  17. 华东师范计算机科学与技术 导师,钱莹 - 华东师范大学 - 计算机科学与技术学院...
  18. PRCT-1011: Failed to run “oifcfg”. Detailed error: null
  19. 用matlab2018解方程,【2018年整理】MATLAB解方程的三个实例
  20. 深挖用户需求,教你4招搞定精准营销

热门文章

  1. Oracle中start with xx connect by prior 语句解析
  2. 如何设置oracle_home变量,oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?
  3. java基础 通过继承Thread类和实现Runnable接口创建线程
  4. 利用matlab绘制图形
  5. java 06_JAVA06 数组
  6. aop判断方法是否执行成功_判断图中是否有环的三种方法
  7. python程序代码_python基础二
  8. android+录像中截图软件下载,录屏截图大师app
  9. java创建目录时带权限_java – 无法在外部存储中创建目录,尽管权限显然设置正确...
  10. @JsonFormat(pattern=“yyyy-MM-dd“)时间差问题