劍指offer 矩陣覆蓋

2022-07-18 00:33:13 字數 522 閱讀 3122

題目:矩陣覆蓋

題目描述:我們可以用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)。

1

public

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矩陣的最左邊時有豎著或橫著...