《挑戰程式設計競賽》P202 矩陣的冪

2021-08-15 16:54:37 字數 481 閱讀 9746

題解:矩陣的冪,優化動態規劃

poj2411  mondriaan's dream

題意:給定乙個長寬小於等於

11的矩形,問用1×

2的小矩形填滿,有多少種方法。

動態規劃: 狀態壓縮

題目大意:用1*2的瓷磚拼成4*n的矩形,求方案數。(n <= 1e9) 方案數較大,取模(%m)

n這麼大遞推肯定是不行了,所以我們要用矩陣快速冪進行加速,

sample input

1 10000

3 10000

5 10000

0 0

sample output

1

1195

鋪就4*1 的矩形,一種可能。

鋪就4*3的矩形,有11種可能

鋪就4*5的矩形,有95種可能。

怎麼推導出遞推式呢? 這幾篇文很好:

插頭輪廓線:

狀態壓縮的題目集錦:

快速冪運算 《挑戰程式設計競賽》

2018 3 1 這裡我就對數進行說明,並沒有對矩陣進行求解。求x n,其中n是乙個比較大的數如果用一般的方法的話,我們會直接進行累乘即可,時間複雜度是o n 但是這個好像並不能滿足我們的要求,我們來分析一下 n的二進位制表示是這樣的,n t1 2 k1 t2 2 k2 t3 2 k3 其中k1,k...

《挑戰程式設計競賽》最小生成樹(鄰接矩陣實現)

思路都寫在注釋裡了,說白了就是不斷更新,利用染色來實現避圈法 include using namespace std define max 100 define black 1 define white 1 define gray 0 define no 1 constexpr auto inf 1...

《挑戰程式設計競賽》P164 座標離散化

問題描述 w h的格仔畫了n條或垂直或水平寬度為1的直線,求出這些格仔被劃分成了多少個4連塊 上 下 左 右連通 輸入格式 第一行包含兩個整數 w和h,表示矩陣的列數和行數 行列編號都從1開始 第二行包含乙個整數n,表示有n條直線。接下來的n行,每行包含四個整數 x1,y1,x2,y2,表示一條直線...