剪繩子

題目描述

給定一根長度為n的繩子搂鲫,請把繩子剪成m段(m亥啦、n都是整數(shù),n>1并且m>1)每币,每段繩子的長度記為k[0],k[1],…,k[m]。請問k[0]* k[1] * … *k[m]可能的最大乘積是多少琢歇?例如兰怠,當(dāng)繩子的長度是8時,我們把它剪成長度分別為2李茫、3揭保、3的三段,此時得到的最大乘積是18魄宏。

思路

這是一道動態(tài)規(guī)劃問題秸侣。整體問題的最優(yōu)解依賴于各個子問題的最優(yōu)解。首先是對于問題的拆解宠互,第一刀的時候味榛,有n-1種選擇,如何選出最優(yōu)的一刀予跌? 在n-1個位置嘗試搏色,找到相乘最大的那一刀所在的位置。 f(n) = max{f(i)*f(n-i)}匕得。
這里最初一直沒想明白為什么這樣一刀一刀選下去就是最優(yōu)解继榆。后來思考過程如下,假設(shè)第一刀不是最優(yōu)解汁掠,那一定還有其他切法會使得乘積更大略吨,所以無論怎么切,一定會切出來兩段繩子考阱,導(dǎo)致乘積最大翠忠。那切出的每一段繩子,一定可以分解成另外兩小段的乘積乞榨。
這里的思考過程是從上至下秽之,但是在實(shí)際的操作中当娱,可以先分析最小的子問題,然后記錄子問題的解考榨,從下至上解決問題跨细。
在代碼實(shí)現(xiàn)中構(gòu)建了一個ans數(shù)組,這里的ans記錄了切繩子時對應(yīng)長度可表示的最大值河质。ans[1]就表示長度為1的長度最大值(假設(shè)繩子長度大于2)冀惭。ans[2]表示切分時,切到一段為2時的最大值掀鹅。這里要注意散休,如果繩子的長度是2,那最大是切成1和1兩段乐尊。但是如果繩子大于2戚丸,其中一段切成長度為2,那這里ans[2]最大值就是2扔嵌。ans[3]表示切了一段繩子的長度為3限府,那他最大可以用3來表示,也就是直接用一段長度為3的繩子表示对人。
1谣殊,2,3這三個長度就是基本的情況牺弄,如果長度再長就可以分解為這3個長度來組合解決了姻几。
具體的代碼實(shí)現(xiàn)如下。

代碼

def maxCutting(length):
    if length<2:
        return 0
    if length ==2:
        return 1
    if length ==3:
        return 2
    ans =[0]*(length+1)
    ans[0] = 0
    ans[1] = 1
    ans[2] = 2
    ans[3] = 3
    for i in range(4,length+1):
        result = 0
        end = int(i/2)+1
        for j in range(1,end):
            temp = ans[j] * ans[i-j]
            if temp > result:
                result = temp
            ans[i] = result
    return ans[-1]
print(maxCutting(8))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末势告,一起剝皮案震驚了整個濱河市蛇捌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咱台,老刑警劉巖络拌,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異回溺,居然都是意外死亡春贸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門遗遵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萍恕,“玉大人,你說我怎么就攤上這事车要≡试粒” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長类垫。 經(jīng)常有香客問我司光,道長,這世上最難降的妖魔是什么悉患? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任残家,我火速辦了婚禮,結(jié)果婚禮上购撼,老公的妹妹穿的比我還像新娘跪削。我一直安慰自己,他們只是感情好迂求,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晃跺,像睡著了一般揩局。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掀虎,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天凌盯,我揣著相機(jī)與錄音,去河邊找鬼烹玉。 笑死驰怎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的二打。 我是一名探鬼主播县忌,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼继效!你這毒婦竟也來了症杏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瑞信,失蹤者是張志新(化名)和其女友劉穎厉颤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凡简,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逼友,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了秤涩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帜乞。...
    茶點(diǎn)故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖溉仑,靈堂內(nèi)的尸體忽然破棺而出挖函,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布怨喘,位于F島的核電站津畸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏必怜。R本人自食惡果不足惜肉拓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梳庆。 院中可真熱鬧暖途,春花似錦、人聲如沸膏执。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽更米。三九已至欺栗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間征峦,已是汗流浹背迟几。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留栏笆,地道東北人类腮。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像蛉加,于是被迫代替她去往敵國和親蚜枢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容