FOJ 1018 Maximal Sum
本题的中文描述:
给定一个由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相关推荐
- HDU - 1520 Anniversary party [树形dp]
Anniversary party 时限:1000ms Problem Description There is going to be a party to celebrate the 80-th ...
- HDU1520 Anniversary party 树形动态规划
HDU1520 Anniversary party 树形动态规划 Anniversary party Time Limit: 2000/1000 MS (Java/Others) Memory ...
- 【HDU - 1520】Anniversary party (树形dp)
题干: There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. Th ...
- [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 ...
- hdu 1520 Anniversary party(第一道树形dp)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1520 Anniversary party Time Limit: 2000/1000 MS (Java ...
- 动态规划的特点及其应用[安徽 张辰]
动态规划的特点及其应用安徽 张辰 目 录 (点击进入) [关键词][摘要][正文] §1动态规划的本质 §1.1多阶段决策问题 §1.2阶段与状态 §1.3决策和策略 §1.4最优化原理与无后效性 ...
- Anniversary party(最基础的树形dp)
描述 There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The ...
- zoj 3716 Ribbon Gymnastics【神奇的计算几何】
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3716 来源:http://acm.hust.edu.cn/vjudg ...
- ZOJ3716 Ribbon Gymnastics(贪心)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3716 Ribbon Gymnastics Time Limit: ...
最新文章
- (转)Inno Setup入门(六)——在程序目录下创建文件夹
- Linux的目录结构与磁盘分区
- Java c语言词法,c语言写的Java词法分析
- PHP的几个常用加密函数
- tomcat版本_Tomcat9+JDK13环境搭建(新版本)
- 【服务器】在 iPad 上运行 VSCode(宝塔+code server)
- 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现
- 更改qt复选框大小_Qt编写控件属性设计器5-属性中文
- C语言贪吃蛇用VC2022
- npm切换到国内华为云的镜像
- 跨境电商shopee这个平台怎么样?百万shopee卖家笑了,不要再犹豫了
- SpringBoot排序之Order注解
- CF1027D Mouse Hunt(topo总结)
- js复制富文本/网页内容到黏贴板
- 鸿蒙系统专利申请,华为在欧盟申请HarmonyOS专利 或为鸿蒙系统的英文名称
- php如何运行vbs文件,HTML_用vbs实现在启动 Windows 资源管理器时打开特定文件夹,my-script.vbs c:\scripts 在文件夹 - phpStudy...
- 自己动手丰衣足食之图片放大镜
- 使用Java开发高性能网站需要关注的那些事儿
- AbsoluteLayout xiantu
- 利用python制作制作直播视频录制、下载、播放
热门文章
- Node10.15.0的安装教程
- java如何向数据库中插入数据_如何控制Java代码向数据库中插入数据
- ?php if (have_posts()) : ?,WordPress中重置文章循环的rewind_posts()函数讲解
- 如何认识区分轻重缓急以及自我定位
- Scrapy 遇到的小坑_关于payload参数_scrapy第一次发送POST请求
- Python-matplotlib 绘图配色设计
- unity gradle
- 实现vivo X9s手机的宣传页面
- PBRT笔记(14)——光线传播2:体积渲染
- 北大计算机系收文科吗,给高校“文科生”的好消息!尤其是这几个专业……