快速冪和矩陣快速冪

2022-06-10 07:45:09 字數 564 閱讀 5326

快速冪主要運用了分治的思想

具體推理過程可以看洛谷的題解思路

**模板如下

int quickpower(int a, int b)//是求a的b次方

return ans;

}

以及快速冪模

int pow_mod(int a,int b,int c)

return ans;

}

而掌握了快速冪的** 實現矩陣快速冪也十分簡單 只需要用乙個結構體實現矩陣的邏輯 並過載乘法符號 套用上面的模板就好

結構體實現矩陣

struct ahaha

inline void build()

}a;

運算子過載

ahaha operator *(const ahaha &x,const ahaha &y)
然後就可以套用快速冪公式來實現矩陣快速冪(ans,base需要是結構體定義的矩陣)

例題洛谷p3390

洛谷p1939

快速冪和矩陣快速冪

快速冪的核心思想是分治思想,底數每次自乘,這樣求乙個數的n次方只要logn次就可以算完,當n足夠大的時候就可以減少很多的次數。基本思想是這個但是還涉及乙個指數為奇數的情況。直接貼上 了。這個 比直接遞迴或者遞推那麼分治都好,乘的次數更少,而且沒有用 來判斷奇數偶數,而是用了位運算,這樣涉及到計算機底...

快速冪和矩陣快速冪

快速冪和矩陣快速冪 模板 快速冪的思想就是減少相乘的次數,將原本n 1次的相乘減小到 lg n 的複雜度 a b a 2 b 2 這個式子由於 是整除,所以得分奇偶的不同情況,偶數時仍然成立,奇數時需要再乘上乙個a 所以快速冪就是將原本的以a為基本單位的連乘改成以a a為單位的連乘 1 includ...

快速冪(矩陣快速冪)

求 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 會超時,這裡引入快速冪來...