HDU 2256 矩陣快速冪 帶根號的遞推

2022-05-07 03:45:12 字數 898 閱讀 5988

題意:求$ [(\sqrt+\sqrt)^] mod 1024 $

分析: 把指數的2帶入 原式等於 $ [(5+2\sqrt)^n] \(

有乙個重要的結論是n次運算後其結果最終形式也是\) a_n+b_n\sqrt $ 的形式

記最終的解$ f(n) = a_n+b_n\sqrt \(

\) f(n-1) = a_+b_\sqrt $

$\frac = 5+2\sqrt \(

\) f(n) = (5+2\sqrt)f(n-1) \(

\) f(n) = (5+2\sqrt)a_+(5\sqrt+12)b_ \(

\) f(n) = a_n+b_n\sqrt \(

\) a_n = (5+2\sqrt)a_ $, $ b_n\sqrt = (5\sqrt+12)b_ \(

\) a_n+b_n\sqrt = (5a_+12b_)+(2a_+5b_)\sqrt \(

這就是實部和虛部的遞推式

\) (5+2\sqrt)n+(5-2\sqrt)n = 2a_n\(

\) (5-2\sqrt)^n≈0 \(

所以原式向下取整就是\) [(\sqrt+\sqrt)^] = 2a_n-1 $

inline ll mod(ll a)

struct matrix

matrix operator * (const matrix &rhs)const

}} return ans;

}};matrix fpw(matrix a,int n)

return ans;

}int bas[3][3]=,

, ,};int bas2=;

int main()

return 0;

}

HDU 2256 矩陣快速冪 需推算

最近開始由線段樹轉移新的內容,線段樹學到掃瞄線這裡有點迷迷糊糊的,有時候放一放可能會好一些。最近突然對各種數學問題很感興趣。好好鑽研了一下矩陣快速冪。發現矩陣真是個計算神器,累乘類的運算原本要o n 的複雜度一下子給降到log n 非常大的進步了。這個題目算是矩陣快速冪的比較難推的乙個題目。題目要求...

hdu 2256 好神奇的矩陣!

這題自己一開始硬是不會處理 6 前面的係數,直到看了別人的部落格後才知道是怎麼解得,不多說,先付上一張圖 推出這個關係後,就很容易了。1 include2 include3 typedef long long ll 4 const int mod 1024 5 6struct matrix 9 ma...

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...