矩陣快速冪

2021-09-10 15:05:34 字數 666 閱讀 6121

有乙個並不是太優秀但是優雅帥氣的博主曾經說過一句話:「我怎麼可能畫圖呢?笑話。」

所以今天他的部落格當中依舊沒有任何。

說這個矩陣快速冪的結構呢,其實很簡單,之前如果有朋友學習過快速冪的話就會立馬反應過來這其實就是一篇水文。

好了如果之前有學習過的同學現在可以關閉本篇文章並且在這裡誠摯的感謝你帶來的訪問量【鞠躬】

首先我們來思考這麼乙個問題:

快速冪是什麼東西?字面意思理解,既然有冪,那**不離十的和次方扯上關係,沒錯,這個名字翻譯**話叫做:快速計算乙個元素的n次方。其做法也很簡單,無論是你用遞迴也好,迴圈也好,怎麼寫都很簡單。

整數快速冪:比如a的n次方

首先創立兩個變數:b和答案變數,初始化b為a,答案變數為1(因為就算是0次方也是1,而1乘以任何數都不改變那個數,不影響計算結果),偽**如下:

while(n不為0)

if(n為奇數)

答案乘以b

b自身平方

n除以2

然後整數快速冪就計算完了。

我們來搞一搞矩陣快速冪,矩陣快速冪和整數快速冪的唯一差別就在於矩陣相乘需要編乙個函式,這個函式過於簡單本辣雞就不在各位大佬面前獻醜了...

然後就是所有矩陣相乘的地方把這個函式換上去就可以啦。

好了沒錯大佬的角度來說這就是一篇水文。瓜子皮收一收啊

快速冪(矩陣快速冪)

求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果 sample input 3sample output 40 分析 利用等比數列的求和公式得所求和是 3 n 1 1 2,如果暴力求3 n 1 會超時,這裡引入快速冪來...

快速冪 矩陣快速冪

快速冪 正常情況下求乙個數的冪時間複雜度為o n 而快速冪能把時間複雜度降到o logn 舉個例子 求5的13次方 思想首先把13化為二進位制 1101,即13 1101 8 1 4 1 2 0 1 1 即5 13 58 1 54 1 52 0 5 1 15 5 8 1 5 4 1 5 2 0 5 ...

快速冪 矩陣快速冪

快速冪 我們求a ba b ab最直接的方法就是把a乘b次這樣的話複雜度就是o n o n o n 但是在比賽時面對1e9的資料時還是會輕鬆超時的,此時就需要一種更快的乘法來幫助我們 我們把b拆成二進位制的形式得到a ba b ab a 10.01 a a1 0.01此時對b分解得到的序列10.01...