本题的中文描述:

给定一个由N*N*N 个整数组成的立方体,定义其和为N*N*N个数的和。现在,给你一个N*N*N 个整数组成的立方体,请你从中找出一个和最大的子长方体(可与给定的立方体相同)。
例如,对于立方体:
0 -1 3
-5 7 4
-8 9 1
 
-1 -3 -1
2 -1 5
0 -1 3
 
3 1 -1
1 3 2
1 -2 1
其和最大的子长方体为:
7 4
9 1
 
-1 5
-1 3
 
3 2
-2 1
它的和为31。

本题是三维的情况,二维情况为求最大子矩阵问题,一维的情况为最大子段和问题。。。

二维版的问题,poj 1050,大家可以参考这篇解题报告。http://www.slyar.com/blog/poj-1050-cpp.html

本题的情况就是先求出子矩阵,然后再转换成POJ 1050的解法,就行了。。

WA了好几次,郁闷,题目没看懂。。ORZ。。

#include <iostream> using namespace std; int cube[20][20][20]; int area[20][20]; int num[20]; int main() { int n,i,j,k,p,q,max,sum,cnt; while(scanf("%d",&n)&&n) { cnt=-200; for(i=0;i<n;++i) { for(j=0;j<n;++j) { for(k=0;k<n;++k) scanf("%d",&cube[i][j][k]); } } for(p=0;p<n;++p) { memset(area,0,sizeof(area)); for(q=p;q<n;++q) { for(i=0;i<n;++i) { for(j=0;j<n;j++) area[i][j]+=cube[q][i][j]; } for(i=0;i<n;++i) { memset(num,0,sizeof(num)); for(j=i;j<n;++j) { for(k=0;k<n;++k) num[k]+=area[j][k]; max=-200; sum=0; for(k=0;k<n;++k) { if(sum>0) sum+=num[k]; else sum=num[k]; if(sum>max) max=sum; } if(max>cnt) cnt=max; } } } } printf("%d/n",cnt); } return 0; }

FOJ 1018 Maximal Sum相关推荐

  1. HDU - 1520 Anniversary party [树形dp]

    Anniversary party 时限:1000ms Problem Description There is going to be a party to celebrate the 80-th ...

  2. HDU1520 Anniversary party 树形动态规划

    HDU1520 Anniversary party 树形动态规划 Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  3. 【HDU - 1520】Anniversary party (树形dp)

    题干: There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. Th ...

  4. [CH5E02] A Little Shop of Flowers

    问题描述 You want to arrange the window of your flower shop in a most pleasant way. You have F bunches o ...

  5. hdu 1520 Anniversary party(第一道树形dp)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1520 Anniversary party Time Limit: 2000/1000 MS (Java ...

  6. 动态规划的特点及其应用[安徽 张辰]

    动态规划的特点及其应用安徽 张辰   目 录 (点击进入) [关键词][摘要][正文] §1动态规划的本质 §1.1多阶段决策问题 §1.2阶段与状态 §1.3决策和策略 §1.4最优化原理与无后效性 ...

  7. Anniversary party(最基础的树形dp)

    描述 There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The ...

  8. zoj 3716 Ribbon Gymnastics【神奇的计算几何】

    题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3716 来源:http://acm.hust.edu.cn/vjudg ...

  9. ZOJ3716 Ribbon Gymnastics(贪心)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3716 Ribbon Gymnastics Time Limit: ...

最新文章

  1. (转)Inno Setup入门(六)——在程序目录下创建文件夹
  2. Linux的目录结构与磁盘分区
  3. Java c语言词法,c语言写的Java词法分析
  4. PHP的几个常用加密函数
  5. tomcat版本_Tomcat9+JDK13环境搭建(新版本)
  6. 【服务器】在 iPad 上运行 VSCode(宝塔+code server)
  7. 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现
  8. 更改qt复选框大小_Qt编写控件属性设计器5-属性中文
  9. C语言贪吃蛇用VC2022
  10. npm切换到国内华为云的镜像
  11. 跨境电商shopee这个平台怎么样?百万shopee卖家笑了,不要再犹豫了
  12. SpringBoot排序之Order注解
  13. CF1027D Mouse Hunt(topo总结)
  14. js复制富文本/网页内容到黏贴板
  15. 鸿蒙系统专利申请,华为在欧盟申请HarmonyOS专利 或为鸿蒙系统的英文名称
  16. php如何运行vbs文件,HTML_用vbs实现在启动 Windows 资源管理器时打开特定文件夹,my-script.vbs c:\scripts 在文件夹 - phpStudy...
  17. 自己动手丰衣足食之图片放大镜
  18. 使用Java开发高性能网站需要关注的那些事儿
  19. AbsoluteLayout xiantu
  20. 利用python制作制作直播视频录制、下载、播放

热门文章

  1. Node10.15.0的安装教程
  2. java如何向数据库中插入数据_如何控制Java代码向数据库中插入数据
  3. ?php if (have_posts()) : ?,WordPress中重置文章循环的rewind_posts()函数讲解
  4. 如何认识区分轻重缓急以及自我定位
  5. Scrapy 遇到的小坑_关于payload参数_scrapy第一次发送POST请求
  6. Python-matplotlib 绘图配色设计
  7. unity gradle
  8. 实现vivo X9s手机的宣传页面
  9. PBRT笔记(14)——光线传播2:体积渲染
  10. 北大计算机系收文科吗,给高校“文科生”的好消息!尤其是这几个专业……