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.pswp.cn/news/371467.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371467.shtml
英文地址,請注明出處:http://en.pswp.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是一種交付…

手型顯示html,css各種手型集合(css禁止手型)

html>css各種手型集合(css禁止手型).auto { cursor: auto; }.deafult { cursor: default; }.none { cursor: none; }.context-menu { cursor: context-menu; }.help { cursor: help; }.pointer { cursor: pointer; }.p…

Maven Fluido Skin和Javadoc類圖

我使用Maven網站已有一段時間了&#xff0c;對此我感到非常滿意。 我不想在Maven 3之后更新我的項目&#xff0c;但是沒關系&#xff0c;Maven 3帶來了許多新奇的東西。 但是&#xff0c;有兩件事使我感到煩惱&#xff1a;缺乏美觀和現代的外觀&#xff0c;以及瀏覽復雜代碼的J…

ZooKeeper安裝,部署

實驗環境 192.168.1.10  Zookeeper1:2181, Zookeeper2:2182 192.168.1.11  ZooKeeper3:2181 依賴環境 JDK1.7 安裝&#xff0c;配置 1、下載解壓 # 192.168.1.10cd /data/server tar -zxv -f zookeeper-3.4.6.tar.gz ln -s zookeeper-3.4.6 zookeeper1ln -s zookeeper-3.4.…

咸寧省2021年模擬高考成績查詢怎么查,2021咸寧市地區高考成績排名查詢,咸寧市高考各高中成績喜報榜單...

距離2018年高考還有不到一個月的時間了&#xff0c;很多人在準備最后沖刺的同時&#xff0c;也在關心高考成績。2018各地區高考成績排名查詢,高考各高中成績喜報榜單尚未公布&#xff0c;下面是往年各地區高考成績排名查詢,高考各高中成績喜報榜單&#xff0c;想要了解同學可以…

保證主題,JMS規范和ActiveMQ的消息傳遞

最近&#xff0c;一個客戶要求我仔細研究ActiveMQ的“持久”消息的實現&#xff0c;它如何應用于主題以及在存在非持久訂閱者的故障轉移方案中會發生什么。 我已經了解到&#xff0c;JMS語義規定&#xff0c;即使面對消息代理提供者失敗&#xff0c;也只能保證主題的持久訂戶以…

java中的除法及求余運算特殊性。

1.如果除法運算符的兩個操作數都是整數類型&#xff0c;則計算結果也是整數&#xff0c;就是將自然除法的結果截斷取整&#xff0c;例如19/4的結果是4&#xff0c;而不是5。并且除數不能0&#xff0c;否則將引起除0異常 2.如果運算符的兩個操作數有1個是浮點數&#xff0c;或兩…

林海峰老師python課件密碼

egon4573轉載于:https://www.cnblogs.com/fengjunhua/p/7395591.html

國際旅游管理專業跨專業考計算機,旅游管理考研我想跨專業考旅游管理專業的研究 – 手機愛問...

2005-12-11我是學旅游管理的大一學生,聽人說這專業就這位兄弟提出的苦惱在大學生中很典型呀!其實你說的不盡然!旅游管理專業,是個很有前景的專業呀!怎么會沒有前途呀?你對自己的人生也太悲觀了吧?就是你說,學校不太好,這可能對自身在大學四年的發展有所限制,但這主要還是看自…

Java注釋:探究和解釋

Java 5 SE的許多出色功能之一是Annotations構造的引入。 注釋是一些標簽&#xff0c;我們可以將其插入程序源代碼中&#xff0c;以使用某種工具對其進行處理并使其變得有意義。 注釋處理工具通常使用&#xff08;Java 5 SE的&#xff09;Reflection API在Java代碼或字節碼級別的…

C# 類

一 string 類型 變量.Length - 字符串長度&#xff0c;返回int類型 string s "abcdefg"; int a s . Length; Console.WriteLine(a); // 輸出結果為&#xff1a;7&#xff08;此字符串有7個字符&#xff09; // Length返回有多少個字符&am…

node+mongodb+win7

一、安裝mongodb&#xff0c;參照教程&#xff0c;注意要先啟動mongod.exe&#xff0c;再啟動mongd.exe。 轉載于:https://www.cnblogs.com/iloveyou-sky/p/7396997.html

cdrom是多媒體微型計算機,全國計算機二級題庫第三章

同時按下CTRLALTDEL組合鍵的作用是(使用任務管理器關閉不響應的應用程序下列說法正確的是(在微型機性能指標中&#xff0c;CPU的主頻越離&#xff0c;其運算速度越快)微型計算機鍵盤上的Tab鍵是(交替換檔鍵)微型計算機鍵盤上的Enter鍵是(回車鍵)微型計算機的運行速度的單位是mi…

Spring MVC控制器JUnit測試

JUnit測試Spring MVC控制器并非易事 。 但是最近&#xff0c;一個新項目 &#xff08;即將在Spring推出&#xff09;提供了新工具來簡化此工作。 這篇文章說明了如何通過JUnit測試來測試一個簡單的控制器。 該代碼是JUnit Testing Spring Service和DAO&#xff08;帶有內存數據…

java基礎03變量和基本數據類型

package cn.bdqn.test;/*** * author 小豆腐* * 變量&#xff1a;會變化的量&#xff1f;&#xff1f;* 一個數據在內存中存儲空間的表示&#xff01;在運行期間可以動態改變&#xff01;* * 關鍵字:在java中已經被使用或者定義的單詞&#xff01;不能作為變量名&#xff01…

5.set集合

list_1 [1,2,3,4,5]list_2 [1,3,5,7,9]#列表轉成set集合set_1 set(list_1)set_2 set(list_2)#交集print(set_1.intersection(set_2))print(set_1 & set_2)#判斷沒有交集print(set(["a","b"]).isdisjoint(set_1))#并集print(set_1.union(set_2))pri…

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…