題意:
4*n的矩形中放入1*2的小矩形有多少種放法
分析:表示公式不會推導。。沒找著有人推公式的證明了。。。
求證明、、、
f(n)=f(n-1)+5*f(n-2)+f(n-3)-f(n-4)
手動算出來前4項,然後處理線性遞推式就好了~
view code
1 #include 2 #include 3 #include 4 #include 56using
namespace
std;78
structmt9
ans,def;
1314
intn,m;
1516 inline mt operator *(mt a,mt b)
1727
28void
go()
2936 printf("
%d\n
",ans.mt[4][1
]);37}38
39bool
prev()
4042
else
if(n==2)
43else
if(n==3)
44 n-=4;45
46 memset(def.mt,0,sizeof
def.mt);
47 def.mt[1][2]=def.mt[2][3]=def.mt[3][4]=1
;48 def.mt[4][1]=-1; def.mt[4][2]=1; def.mt[4][3]=5; def.mt[4][4]=1
;49 def.x=def.y=4;50
51 ans.x=4; ans.y=1
;52 ans.mt[1][1]=1; ans.mt[2][1]=5; ans.mt[3][1]=11; ans.mt[4][1]=36;53
return
true;54
}5556int
main()
5763
return0;
64 }
poj 3420 dp 矩陣 矩形填充
include include include include include include using namespace std define ll long long const int maxn 1 4 4 乙個狀態可以推出多個狀態 int pre maxn now maxn int m,...
POJ 3734 Blocks 矩陣乘法
依舊是神奇的矩陣乘法,構思很巧妙,雖說看著很簡單,但是確實沒練過矩陣題,所以就沒這個意識去想到狀態轉移矩陣了。依舊是參考的別人的思路,也堅定了我要學好矩陣的決心。有四種顏色,其中紅色和綠色必須是偶數,那麼我們可以分四種狀態,一,紅為偶數,綠為偶數 二,紅為奇數,綠為偶數,三,紅為偶數,綠為奇數 四,...
POJ 3734 Blocks 矩陣乘法
依舊是神奇的矩陣乘法,構思很巧妙,雖說看著很簡單,但是確實沒練過矩陣題,所以就沒這個意識去想到狀態轉移矩陣了。依舊是參考的別人的思路,也堅定了我要學好矩陣的決心。有四種顏色,其中紅色和綠色必須是偶數,那麼我們可以分四種狀態,一,紅為偶數,綠為偶數 二,紅為奇數,綠為偶數,三,紅為偶數,綠為奇數 四,...