题目描述

[说明]此题中出现的所有数全为整数
[背景]SubRaY有一天得到一块西瓜,是长方体形的....
[题目描述]SubRaY发现这块西瓜长m厘米,宽n厘米,高h厘米.他发现如果把这块西瓜平均地分成m*n*h块1立方厘米的小正方体,那么每一小块都会有一个营养值(可能为负,因为西瓜是有可能坏掉的,但是绝对值不超过200).
现在SubRaY决定从这m*n*h立方厘米的西瓜中切出mm*nn*hh立方厘米的一块小西瓜(一定是立方体形,长宽高均为整数),然后吃掉它.他想知道他最多能获得多少营养值.(0<=mm<=m,0<=nn<=n,0<=hh<=h.mm,nn,hh的值由您来决定).
换句话说,我们希望从一个m*n*h的三维矩阵中,找出一个三维子矩阵,这个子矩阵的权和最大.

一个2*3*4的例子,最优方案为切红色2*3*1部分
[数据范围]
对于30%的数据,h=1,1<=m,n<=10
对于全部的数据,1<=h<=32,1<=m,n<=50,保证h<=m,n

输入格式

首行三个数h,m,n(注意顺序),分别表示西瓜的高,长,宽.
以下h部分,每部分是一个m*n的矩阵,第i部分第j行的第k个数表示西瓜第i层,第j行第k列的那块1立方厘米的小正方体的营养值.

输出格式

SubRaY所能得到的最大营养值

样例输入

样例输出

三维状态图像


题目很明了~

[cpp] view plaincopy
  1. #include<stdio.h>
  2. #include<iostream>
  3. using namespace std;
  4. int h,m,n,i,j,k;
  5. int s[51][51][51],a[51][51][51],f[51][51][51][51];
  6. int ans;
  7. int main()
  8. {
  9. scanf("%d%d%d",&h,&m,&n);
  10. for (i=1;i<=h;++i)
  11. for (j=1;j<=m;++j)
  12. for (k=1;k<=n;++k)
  13. {
  14. scanf("%d",&a[i][j][k]);
  15. s[i][j][k]=s[i][j-1][k]+s[i][j][k-1]-s[i][j-1][k-1]+a[i][j][k];
  16. }
  17. for (int sj=1;sj<=m;++sj)
  18. for (int sk=1;sk<=n;++sk)
  19. for (int ej=sj;ej<=m;++ej)
  20. for (int ek=sk;ek<=n;++ek)
  21. {
  22. f[sj][sk][ej][ek]=-99999;
  23. for (i=1;i<=h;++i)
  24. {
  25. int tem=s[i][ej][ek]-s[i][sj-1][ek]-s[i][ej][sk-1]+s[i][sj-1][sk-1];
  26. f[sj][sk][ej][ek]=max(f[sj][sk][ej][ek]+tem,tem);
  27. if (f[sj][sk][ej][ek]>ans) ans=f[sj][sk][ej][ek];
  28. }
  29. }
  30. printf("%d/n",ans);
  31. return 0;
  32. }

动态规划 RQNOJ 吃西瓜 最大子段和三维版相关推荐

  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. 最火的瓜,得用动态规划来吃

    最火的瓜,得用动态规划来吃 一. 递归树分析 二. 动态规划的代码 三. 与妹子沟通是个技术活 今天真是被罗志祥的大瓜砸到了!全网络都是关于"小猪"的新闻,这前女友公开吃瓜确实强悍 ...

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

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

  9. 动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包,混合背包

    动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包 01背包 && 完全背包 && 分组背包 の 视频教程:https://www.bilibi ...

最新文章

  1. linux跟踪线程的方法:LWP和strace命令
  2. 实现无锁的栈与队列(1)
  3. Android之自定义控件一起制作自定义标签
  4. c# https请求
  5. 震惊!程序员一夜赚1W,没想到他就做了这个..........
  6. 暑期集训20190727 水(water)
  7. Spring createBean()源码笔记
  8. java坦克大战地图_『坦克大战的基本地图系统(一)』Clickteam Fusion系列教程(13)...
  9. 一套绝佳的自定义3dmax快捷键!
  10. 兄弟单词C语言,brother是什么意思
  11. 硬盘维修彻底揭密 新手必读
  12. 渐变(Gradients)
  13. 程序员应了解:知识技能金字塔
  14. 车速与档位匹配关系_汽车档位与速度的匹配,速度与档位匹配的标准
  15. Win10 连接不上局域网共享文件解决方案
  16. TensorFlow 系列案例(3): 使用TensorFlow DNN分类器对数据进行分类
  17. 无人机不装脚架的好处就是降落时会比较稳,不怕倾斜侧翻。
  18. NB-IoT芯片掀狂潮,现井喷式发展
  19. 电脑没有声音 | 电脑没有Realtek高清晰音频配置解决方法
  20. 论文阅读:Pre-trained Models for Natural Language Processing: A Survey 综述:自然语言处理的预训练模型

热门文章

  1. 【错误记录】Flutter 界面跳转报错 ( Navigator operation requested with a context that does not include a Naviga )
  2. 【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )
  3. 【音频处理】Polyphone 样本编辑 和 样本工具 ( 波形图 | 信息 | 频率分析 | 均衡器 | 播放器 | 终点裁剪 | 自动循环节 | 空白移除 | 音量 平衡 音调 调整 )
  4. git 避免重复输入用户名密码问题解决
  5. 中秋之晚开始 编程语言学习之路
  6. SharePoint KB
  7. KB2533623 下载
  8. 鼠标位置精确定位总结
  9. ie下LI的间距问题
  10. js中表单验证常用到的正则表达式