動態規劃習題

2021-06-22 21:40:16 字數 888 閱讀 6975

401最大連續乘積子串

402字串編輯距離

403格仔取數問題

404交替字串

1.子串行個數

子串行的定義:對於乙個序列a=a[1],a[2],......a[n],則非空序列a'=a[p1],a[p2]......a[pm]為a的乙個子串行 其中1<=p1

2.數塔取數問題

乙個高度為n的由正整數組成的三角形,從上走到下,求經過的數字和的最大值。 每次只能走到下一層相鄰的數上,例如從第3層的6向下走,只能走到第4層的2或9上。

58 4

3 6 9

7 2 9 5

例子中的最優方案是:5 + 8 + 6 + 9 = 28。解答

3.最長公共子串行

什麼是最長公共子串行呢?好比乙個數列 s,如果分別是兩個或多個已知數列的子串行,且是所有符合此條件序列中最長的,則s 稱為已知序列的最長公共子串行。

舉個例子,如:有兩條隨機序列,如 1 3 4 5 5 ,and 2 4 5 5 7 6,則它們的最長公共子串行便是:4 5 5。

4.最長遞增子串行

如此,便可建立遞推關係,在o(n^2)時間內解決這個問題。解答

5.木塊砌牆

用 1×1×1, 1×2×1以及2×1×1的三種木塊(橫綠豎藍,且綠藍長度均為2),

搭建高長寬分別為k × 2^n × 1的牆,不能翻轉、旋轉(其中,0<=n<=1024,1<=k<=4)

有多少種方案,輸出結果

對1000000007取模。

舉個例子如給定高度和長度:n=1 k=2,則答案是7,即有7種搭法,如下圖所示:

而且跟乙個比較經典的矩陣乘法問題類似:即用1 x 2的多公尺諾骨牌填滿m x n的矩形有多少種方案,m<=5,n<2^31,輸出答案mod p的結果

解答

動態規劃習題

解題思路 lis lcs 拿數問題 ii 解題思路 東東在玩遊戲 game23 在一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸出將n轉換成m的操作次數,如果轉換不了輸出 1。input 輸入的唯一一行包括兩個整數n和m 1 n m ...

動態規劃習題總結

tot是一定的,如果某個值x能夠到達,那麼tot x一定能到達 只用從i tot 2 逐漸減小 開始檢查 是否i和tot i都能到達 動態規劃過程中,只用求出0到tot 2是否能達到即可。hdu 2955 robberies 01揹包,被抓住的概率應該是一連串概率的乘積,因為把概率當作揹包體積不好計...

動態規劃習題整理(1)

狀態表示 f i 表示以第 i 個元素結尾的所有連續子陣列的最大值。狀態轉移 f i max f i 1 0 nums i f i 可劃分為兩部分,以第 i 1個元素結尾的所有連續子陣列加上第i個元素,或者只選用第 i 個元素。答案為所有f i 中的最大值。優化 由於f i 在計算時只會用到f i ...