#26425: Bitmask + 矩陣乘法


fire5386 (becaidorz)

學校 : 國立清華大學
編號 : 115822
來源 : [140.114.253.77]
最後登入時間 :
2024-11-13 14:54:03
b587. 10918 - Tri Tiling -- UVa10918 | From: [111.243.22.41] | 發表日期 : 2021-08-06 11:46

用0表示這個位置是空的,1表示這個位置有積木了 我們可以用2進位來表示狀態的轉移

如果當前這排是這樣的組合,填滿這一排的話下一排有這些組合

0              1   0   1

0   ===>       0 , 0 , 1

0              0   1   1

這些狀態用矩陣儲存後就可以用矩陣乘法得到答案

這題N很小直接乘也可以AC,如果N很大,就要搭配矩陣快速冪運算

{{0, 4}, {0, 1}, {0, 7}, {1, 0}, {1, 6}, {2, 5}, {3, 4}, {4, 0}, {4, 3}, {5, 2}, {6, 1}, {7, 0}}

這些是所有狀態的轉移

 
ZeroJudge Forum