p1164【立方体求和】

 

  题目:

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部分


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


输出格式 Output Format
SubRaY所能得到的最大营养值


样例输入 Sample Input
2 3 4
4 1 2 8
0 5 -48 4
3 0 1 9
2 1 4 9
1 0 1 7
3 1 2 8


样例输出 Sample Output
45


时间限制 Time Limitation
1s


注释 Hint
对于30%的数据,h=1,1<=m,n<=10
对于全部的数据,1<=h<=32,1<=m,n<=50,保证h<=m,n



来源 Source
noip 模拟赛

 

    因为数据比较小,所以不会超时的。你先处理下这一层这个位置和上个位置的累加和,然后在处理每一列的累加和。

   然后每次运算只用从左开始往右进行累加,算的就是一个矩阵了。

    

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int a[52][52][52];
int c[52][52][52];
int b[1000];
int p[1000];
int main()
{int h,m,n;//高,长,宽cin>>h>>m>>n;for(int w=1;w<=h;w++){for(int i=1;i<=m;i++){for(int j=1;j<=n;j++)cin>>a[w][i][j],c[w][i][j]=a[w][i][j];}}for(int w=1;w<=h;w++){for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){c[w][i][j]+=c[w-1][i][j];}}}for(int w=1;w<=h;w++){for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){c[w][i][j]+=c[w][i-1][j];}}}/*cout<<endl;for(int w=1;w<=h;w++){for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){cout<<c[w][i][j]<<' ';}cout<<endl;}}*/int ans=0;for(int w=1;w<=h;w++)//第几层
    {for(int H=1;H<=w;H++)//w层上面选几层
        {for(int i=1;i<=m;i++)//第i行
            {for(int t=1;t<=i;t++)//这行上面的t行
                {memset(b,0,sizeof(b));memset(p,0,sizeof(p));for(int k=1;k<=n;k++)//从左往右加
                    {p[k]=c[w][i][k]-c[H-1][i][k]-c[w][t-1][k]+c[H-1][t-1][k];b[k]=max(b[k-1]+p[k],p[k]);if(b[k]>ans)ans=b[k];}}}}}cout<<ans<<endl;return 0;
}
程序里有标注

 

转载于:https://www.cnblogs.com/lcyhaha/p/7387842.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html生成自定义表格,自定义js的表格插件

场景&#xff1a;指定元素&#xff0c;生成自定义表格。目的&#xff1a;了解js的插件开发。html代码&#xff1a;自定义表格插件var test new MyTable({elid:"mytable",//定义哪个div要生成表单thead:{//指定列名name:"姓名",age:"年龄",addr:…

使用JBehave,Gradle和Jenkins的行为驱动开发(BDD)

行为驱动开发 &#xff08;BDD&#xff09;是一个协作过程 &#xff0c;产品负责人&#xff0c;开发人员和测试人员可以合作交付可为企业带来价值的软件。 BDD是 测试驱动开发 &#xff08;TDD&#xff09; 的合理下一步 。 行为驱动的发展 本质上&#xff0c;BDD是一种交付…

Maven Fluido Skin和Javadoc类图

我使用Maven网站已有一段时间了&#xff0c;对此我感到非常满意。 我不想在Maven 3之后更新我的项目&#xff0c;但是没关系&#xff0c;Maven 3带来了许多新奇的东西。 但是&#xff0c;有两件事使我感到烦恼&#xff1a;缺乏美观和现代的外观&#xff0c;以及浏览复杂代码的J…

咸宁省2021年模拟高考成绩查询怎么查,2021咸宁市地区高考成绩排名查询,咸宁市高考各高中成绩喜报榜单...

距离2018年高考还有不到一个月的时间了&#xff0c;很多人在准备最后冲刺的同时&#xff0c;也在关心高考成绩。2018各地区高考成绩排名查询,高考各高中成绩喜报榜单尚未公布&#xff0c;下面是往年各地区高考成绩排名查询,高考各高中成绩喜报榜单&#xff0c;想要了解同学可以…

国际旅游管理专业跨专业考计算机,旅游管理考研我想跨专业考旅游管理专业的研究 – 手机爱问...

2005-12-11我是学旅游管理的大一学生,听人说这专业就这位兄弟提出的苦恼在大学生中很典型呀!其实你说的不尽然!旅游管理专业,是个很有前景的专业呀!怎么会没有前途呀?你对自己的人生也太悲观了吧?就是你说,学校不太好,这可能对自身在大学四年的发展有所限制,但这主要还是看自…

java基础03变量和基本数据类型

package cn.bdqn.test;/*** * author 小豆腐* * 变量&#xff1a;会变化的量&#xff1f;&#xff1f;* 一个数据在内存中存储空间的表示&#xff01;在运行期间可以动态改变&#xff01;* * 关键字:在java中已经被使用或者定义的单词&#xff01;不能作为变量名&#xff01…

JavaFX中基于表达式的PathTransitions

在JavaFX中&#xff0c;您可以使用PathTransition对象为路径上的节点设置动画。 PathTransitions使用Shape对象描述它们需要沿其动画的路径。 JavaFX提供了各种类型的形状&#xff08;例如&#xff0c;多边形&#xff0c;圆形&#xff0c;多边形&#xff0c;路径&#xff09;。…

html 显示视频列表,dvd光碟制作节目轨菜单布局,不要视频缩略图,只显示文件列表...

“如何在刻录视频光盘时自定义制作菜单&#xff1f;实现的效果就是当光盘插入DVD影碟机播放时&#xff0c;首先会出现一个所有视频文件列表的菜单(节目轨菜单)&#xff0c;就相似于音乐CD曲目表一样&#xff0c;不需要有视频缩略图&#xff0c;可通过遥控器选择性播放列表中某一…

v3学院教你学习-task和function的异同

v3学院教你学习-task和function的异同 task&#xff08;任务&#xff09;与function&#xff08;函数&#xff09;的不同 任务与函数主要有以下四点不同&#xff1a; l 函数只能与主模块共用一个仿真时间单位&#xff0c;而任务定义自己的仿真时间单位。 l 函数不能启动任务&am…

Java 7:HashMap与ConcurrentHashMap

从我过去有关性能的文章和HashMap案例研究中可能已经看到&#xff0c;Java线程安全性问题可以很轻松地使Java EE应用程序和Java EE容器崩溃。 在对Java EE性能问题进行故障排除时&#xff0c;我观察到的最常见问题之一是由非线程安全的HashMap get&#xff08;&#xff09;和pu…

【2017-03-02】集合、结构体、枚举

集合和数组的差别&#xff1a; 数组&#xff1a;同一类型&#xff0c;固定长度集合&#xff1a;不同类型&#xff0c;不固定长度 一、普通集合&#xff08;弱类型&#xff09; 1、ArryList 使用集合首先要引用命名空间。 或者在ArryList上右键找“解析”。 2、集合的定义&#…

Mathematica图片局部变色

这篇博客来源于Stack-Exchange上的一个帖子&#xff0c;问题描述如下&#xff1a;如何将图中的红球变为蓝球&#xff1f; 这个问题下面有很多答案&#xff0c;我选了最好的一个答案&#xff0c;代码如下 img Import["C:/Users/1/Desktop/red.jpg"]; getReds[x_Image…

在WebLogic 12c上运行RichFaces

我最初以为我可以在几个月前写这篇文章。 但是我最终被不一样的事情所淹没。 其中之一是&#xff0c;它无法像我在4.0版本中那样简单地启动RichFaces展示柜。 有了所有的JMS magic和不同的提供者检查&#xff0c;这已经成为简单构建和部署它的挑战。 无论如何&#xff0c;我愿意…

Spring Boot系列教程一:Eclipse安装spring-tool-suite插件

一.前言 一直使用eclipse&#xff0c;个人习惯选用Eclipsespring-tool-suite进行开发&#xff0c;特别注意Eclipse要选用对应的spring-tool-suite进行安装&#xff0c;这点笔者浪费了好长时间&#xff0c;以下为对应的版本。eclipse-kepler.4.3.1–>springsource-tool-suite…

湖南工程学院计算机网络考试,湖南工程学院 计算机网络期末试卷试题

湖南工程学院 计算机网络期末试卷试题湖南工程学院 计算机网络 期末试题(计算机10级&#xff0c;90%的题目)1 从逻辑功能上看,计算机网络可分为哪两个子网?答&#xff1a;通信子网和资源子网 2 数据链路层的最基本功能答&#xff1a;数据链路层的最基本的功能是向该层用户提供…

C#设计模式(11)——外观模式(Facade Pattern)

一、引言 在软件开发过程中&#xff0c;客户端程序经常会与复杂系统的内部子系统进行耦合&#xff0c;从而导致客户端程序随着子系统的变化而变化&#xff0c;然而为了将复杂系统的内部子系统与客户端之间的依赖解耦&#xff0c;从而就有了外观模式&#xff0c;也称作 ”门面“…

OS X Mountain Lion上的多个Java版本

在Mountain Lion之前&#xff0c;Java被捆绑在OS X中。似乎在升级期间&#xff0c;我在计算机上安装的Java 6版本被删除了。 显然&#xff0c;在升级过程中卸载Java的原因是Java运行时存在的安全问题。通过这种方式&#xff0c;您不得不安装可解决此安全问题的最新版本。 所以我…

2020暨阳学院园林计算机考研考场,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼二、关键一步——院校选择我把各位同学的院校选择阶段分为以上几个阶段&#xff0c;因为考研这一年中&#xff0c;很多人的目标院校并不是固定不变的&#xff0c;而是随着不同阶段而改变的。学长我在大三下学期这一时间段内也多次更…

JavaOne 2012:向上,向上和向外:使用Akka扩展软件

在最后的社区主题演讲后&#xff0c;我前往希尔顿金门大桥3/4/5观看了维克多巴生 &#xff08; Viktor Klang &#xff09;的&#xff08; Typesafe &#xff09;“上&#xff0c;下&#xff0c;外&#xff1a;Akka”演讲。 巴生&#xff08;Klang&#xff09;是Akka的技术主管…

Spring测试支持和上下文缓存

Spring为单元测试和集成测试提供了全面的支持-通过注释来加载Spring应用程序上下文&#xff0c;并与JUnit和TestNG等单元测试框架集成。 由于为每个测试加载大型应用程序上下文需要时间&#xff0c;因此Spring智能地为测试套件缓存应用程序上下文–通常&#xff0c;当我们通过a…