題目:矩陣覆蓋
題目描述:我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有多少種方法?
思路:此題和前面裴波那切類題是一樣的,尤其是和那個上樓梯的題;
找到遞推式:f(n) = f(n-1) + f(n-2), (n > 2)
對於這類題的變形
相應的結論應該是:
(1)1 * 3方塊 覆 蓋3*n區域:f(n) = f(n-1) + f(n - 3), (n > 3)
(2) 1 *4 方塊 覆 蓋4*n區域:f(n) = f(n-1) + f(n - 4),(n > 4)
更一般的結論,如果用1*m的方塊覆蓋m*n區域,遞推關係式為f(n) = f(n-1) + f(n-m),(n > m)。
1public
class
solution
13return
dp[n];
14}
15 }
劍指offer 矩陣覆蓋
我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?使用dp,當n時,選著豎著放乙個,那麼後面的可能性為f n 1 選擇橫著放乙個,那麼要佔兩個位置,後面的可能性為f n 2 故f n f n 1 f n 2 f 1 1,f...
劍指OFFER 10矩陣覆蓋
我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?這道題的要點就是對於題幹的理解和轉換,可以看到大矩形的行上的長度是固定的 2 唯一的變化在於列上的長度 n 而列上的填充方式 1.2 1的小矩陣豎著去覆蓋 相當於前進一格 ...
劍指offer 10矩陣覆蓋
0.簡介 本文是牛客網 劍指offer 刷題筆記,筆記索引鏈結 1.題目 用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?2.思路 2 1的矩陣覆蓋2 8的矩陣的方法f 8 用第乙個1 2矩陣覆蓋2 8矩陣的最左邊時有豎著或橫著...