題意:
有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...