問題 e: hnoi2004] 打磚塊
時間限制: 1 sec 記憶體限制: 128 mb
題目描述
【題目描述】
在乙個凹槽中放置了n層磚塊,最上面的一層有n塊磚,第二層有n-1塊,……最下面一層僅有一塊磚。第i層的磚塊從左至右編號為1,2,……i,第i層的第j塊磚有乙個價值a[i,j](a[i,j]<=50)。下面是乙個有5層磚塊的例子:
如果你要敲掉第i層的第j塊磚的話,若i=1,你可以直接敲掉它,若i>1,則你必須先敲掉第i-1層的第j和第j+1塊磚。
你的任務是從乙個有n(n<=50)層的磚塊堆中,敲掉(m<=500)塊磚,使得被敲掉的這些磚塊的價值總和最大。
【輸入格式】
你將從檔案中讀入資料,資料的第一行為兩個正整數,分別表示n,m,接下來的第i每行有n-i+1個資料,分別表示a[i,1],a[i,2]……a[i,n – i + 1]。
【輸出格式】
輸出檔案中僅有乙個正整數,表示被敲掉磚塊的最大價值總和。
【樣例輸入】
4 5
2 2 3 4
8 2 7
2 3
49 【樣例輸出】
19 (敲掉第一層的四塊磚,再敲掉第二層的第一塊磚,2+2+3+4+8=19)
這道題轉移好神奇。。
也許把樣例這麼寫看起來舒服一點
2 2 3 4
8 2 7
2 3
49 如果按行處理太麻煩了,那麼來考慮按列處理,那麼當前這一列就只與前一列有關。
f[k][i][j]: 共選取了k個時,在第i列,並在第i列打掉了前j個。
只要考慮從第i-1列哪個位置轉移過來就行了。因為這一列第j個想被打掉,那i-1列第j-1個也必須被打掉,也就是說,就這乙個限制條件。(當然一共打了k個也有限制,最小(1+j)*j/2個)
剩下大膽轉移就行了。
神奇的中醫!神奇的文化!
本草備要 中載 王荊公患偏頭痛,搗萊服汁,仰臥,左痛注右鼻,右痛注左鼻,或兩鼻齊注,數十年患,二註而愈。其中所說萊菔汁就是蘿蔔汁。上邊這段話好人的部落格上都有,但是不知道有幾個人嘗試過,我因長期患偏頭疼終無良方,今天下定決心試上一試,據說中西醫對 頭疼均沒有什麼特效藥物,於是我的偏頭疼也伴隨我十幾年...
神奇卡馬克
卡馬克主要成就基於他在3d方面的研究,idsoftware開發的著名遊戲有德軍總部3d wolfenstein 3d 毀滅戰士 doom 和雷神之鎚 quake 等等。這些遊戲和它們的後續版本都取得了巨大的成功。卡馬克創造的遊戲引擎還用來製作其他的第一人稱射擊遊戲,比如半條命 half life 和...
神奇的食物
跟男朋友吵架 在公司跟上司鬧矛盾 哎,煩啊 每天都要唉聲嘆氣 愁眉苦臉過日子的你,終於在有一天發現自己雪上加霜,得了慢性頭痛 消化不良 失眠症等眾多毛病。不過不用再發愁了,你馬上就可以看到能夠帶你遠離這些煩惱 幫你治好身心的保護神了!那就是平時就隱身在我們身邊的一些不起眼的食物!心生煩躁時 你說在跟...