搬磚 動態規劃

2021-08-07 14:20:58 字數 991 閱讀 5999

小易有n塊磚塊,每一塊磚塊有乙個高度。

小易希望利用這些磚塊堆砌兩座相同高度的塔。

為了讓問題簡單,磚塊堆砌就是簡單的高度相加,

某一塊磚只能使用在一座塔中一次。

小易現在讓能夠堆砌出來的兩座塔的高度盡量高,小易能否完成呢。

輸入描述:

輸入包括兩行:

第一行為整數n(1 ≤ n ≤ 50),即一共有n塊磚塊

第二行為n個整數,表示每一塊磚塊的高度height[i] (1 ≤ height[i] ≤ 500000)

輸出描述:

如果小易能堆砌出兩座高度相同的塔,輸出最高能拼湊的高度,如果不能則輸出-1.

保證答案不大於500000。

輸入例子:

3 2 3 5

輸出例子:

5

public

class 搬磚塊

sc.close();

//假設磚塊分為a,b兩堆,dp[i]中i表示b-a,所以dp長度為2*sum+1

// 滾動陣列是對動態規劃的的優化,把新資料替換舊資料形成滾動,節約記憶體空間

intdp0=new

int[sum*2+1];//舊狀態

intdp1=new

int[sum*2+1];//新狀態

arrays.fill(dp0, -1);//a和b堆不一樣高的情況均賦值-1。

dp0[sum]=0;//sum為偏移量

for(int i=0;iint v=a[i];

for(int j=0;j<2*sum+1;j++)

}if(j+v<=2*sum)}}

//交換dp,讓dp0始終代表dp[i-1][j]的狀態

int tmp=dp1;

dp1=dp0;

dp0=tmp;

}if(dp0[sum]==0)else

}}

物理搬磚問題 搬磚姿勢 風法

1 前言 這個角色在男魔法裡面應該是最快的了,不管是技能範圍,還是技能釋放時間,都是又大又快的,加上有兩個跑圖技能,能夠更加的流暢搬磚,也不怎麼吃裝備,所以一直以來,都深受搬磚玩家的熱愛,那麼這個角色該如何搬磚呢,請看下面 2 裝備 稱號 海洋霸主 買今年年套稱號或者去年的國慶稱號,那個便宜買那個 ...

方磚問題(動態規劃)

time limit 1 sec memory limit 128 mb submit 6 solved 2 submit status web board 用邊長小於n的正方形方磚 注意,不要求所有的方磚大小相同,請看樣例說明 不重疊地鋪滿n n的正方形房間,最少要幾塊方磚。可以將n n的大正方形...

ros 簡介(搬磚)

今天開始入坑ros 1977年9月,intel公司創始人羅伯特 諾伊斯撰文預言 計算機將走進千家萬戶。四十年過去了,我們有目共睹,這個預言早就變成了現實!2007年1月,比爾 蓋茨在 科學美國人 上撰文預言 機械人即將重複個人電腦崛起的道路,走進千家萬戶。十年過去了,我們有目共睹,這個預言正將變成現...