矩陣覆蓋 鋪地磚問題

2021-09-09 05:21:40 字數 694 閱讀 8677

描述:

我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋乙個2*n的大矩形,

總共有多少種方法?

思路:

target = 1大矩形為2*1,只有一種擺放方法,return1;

target = 2 大矩形為2*2,有兩種擺放方法,return2;

target = n 分為兩步考慮:

第一次擺放一塊 2*1 的小矩陣,則擺放方法總共為f(target - 1)

第一次擺放一塊1*2的小矩陣,則擺放方法總共為f(target-2)

因為,擺放了一塊1*2的小矩陣(用√√表示),對應下方的1*2(用××表示)擺放方法就確定了,所以為f(targte-2)

1.遞迴

public int rectcover(int target) 

if(target == 1)else if(target == 2)else

}

2.動態規劃

public int rectcover(int target) 

return dp[target];

}

C語言鋪地磚問題

鋪地磚 time limit 1000ms memory limit 65536k total submit 711 accepted 224 description 元旦過去了,新年大酬賓活動也已經告一段落了。陳蓋歷望著堆在倉庫的瓷磚,很無聊的他把這些瓷磚裁成很多1x1 1x2 1x3的小瓷磚,然...

鋪地磚(找遞推式 大數)

時間限制 1 sec 記憶體限制 128 mb 題目描述 一天,晨晨的數學老師布置了一道題目,大意如下 用1 1和2 2的磁磚不重疊地鋪滿n 3的地板,共有多少種方案?例如 n 1時 1 3的地板方法就乙個,直接由三個1 1的磁磚鋪滿。n 2時 2 3的地板可以由下面3種方案鋪滿 輸入第一行 乙個整...

鋪地磚 狀壓DP練習

有乙個n m n 5,m 1000 的棋盤,現在有1 2及2 1的小木塊無數個,要蓋滿整個棋盤,有多少種方式?答案只需要mod1,000,000,007即可。我也不知道這道題的 qaq n和m的範圍本應是相同的,但是題目給出的n的值很小,這就給我們提供了使用狀壓dp的思路。假設第一列已經鋪滿,則第二...