快速矩陣冪HDU2276

2021-06-28 11:30:19 字數 689 閱讀 5236

題意:

有n盞燈,編號為1到n。0表示不亮,1表示亮,

如果 i-th的燈的左邊燈是亮的,那麼下一秒鐘,

i-th燈的狀態要改變,0變成1,1變成0。(第1個燈的

左邊是第n個燈)。輸入t,輸入開始的狀態

問你在第t秒時,燈的狀態時什麼樣的,輸出來。

分析:可推出下一秒的狀態a[i]=(a[(i-1+n)%n]+a[i])%2;

可以定義乘法矩陣e

1 1 0 0 0.....0 0

0 1 1 0 0.....0 0

0 0 1 1 0.....0 0

0 0 0 1 1 0 0 0 0

0 0 0 0 1 1 0 0 0..

0 0 0 0 0 0 0 1 1

1 0 0 0 0.....0 1

/*//

快速矩陣冪 hdu 2276

//*/

#include #include #include int n;

struct matrix

}e, z;

matrix mut(matrix a, matrix b)

}e, z;

matrix mut(matrix a, matrix b)

{ matrix ans;

ans.clear();

for (int i = 0; i

hdu2276 矩陣構造

題意 給了n個燈泡的狀態,他們繞成乙個環,0是滅,1是亮,每一秒燈泡的狀態都會改變,規則是如果當前這個燈泡的左邊的燈泡當前是狀態1,那麼下一秒當前的這個燈泡狀態就改變0變1,1變0,最後問你m秒後的狀態。思路 我們先找當前狀態和下乙個狀態的關係 狀態也就是秒 我們可以抽象成這麼一種關係,如果第i個燈...

HDU2276 矩陣遞推

1.題目鏈結。題目大意,有n個燈,它們圍城乙個圈,每個燈有兩種狀態,0代表燈沒有開,1代表燈開著。現在做這樣的調整,每一秒,我們檢查這個燈的左邊 就是逆時針相鄰的那個點 如果左邊的點是1,那麼把該點的燈開啟,否則不做變化。問t秒之後所有燈的狀態。2.這是乙個矩陣的遞推,我們這樣考慮,a i j 代表...

hdu 4965 矩陣快速冪

給定兩個矩陣a,b,分別為n k和k n 求出矩陣c a b,矩陣m c n n 將矩陣m中的所有元素取模6,得到新矩陣m 並計算矩陣m 中所有元素的和 注意到ba 得到 6 6,而ab 得到1000 1000 轉化乘法算式為 m abababab.a ba n n 1 b 直接用矩陣快速冪即可 i...