當(dāng)前位置:
首頁(yè) >
数学--矩阵快速幂详解
發(fā)布時(shí)間:2023/12/15
30
豆豆
生活随笔
收集整理的這篇文章主要介紹了
数学--矩阵快速幂详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
引導(dǎo):
我們之前都學(xué)快速冪:
矩陣也是可以相乘,方陣可以自乘,即乘冪運(yùn)算。
作用:
將線性遞推,優(yōu)化log2nlog_{2}nlog2?n
模板:
定義矩陣的階
const int len = 15;定義轉(zhuǎn)移矩陣
struct node {int mat[len][len]; } x, y;矩陣乘法
node mul(node x, node y) {node tmp;for (int i = 0; i < len; i++){for (int j = 0; j < len; j++){tmp.mat[i][j] = 0;for (int k = 0; k < len; k++){tmp.mat[i][j] += (x.mat[i][k] * y.mat[k][j]) % mod;}tmp.mat[i][j] = tmp.mat[i][j] % mod;}}return tmp; }矩陣快速冪
node matpow(node x,node y,int num){while(num){if(num&1){y=mul(y,x);}x=mul(x,x);num=num>>1;}return y; }算法的難點(diǎn)是怎樣寫(xiě)出轉(zhuǎn)移矩陣:
一般的遞推式
關(guān)于其他矩陣構(gòu)造:
總結(jié)
以上是生活随笔為你收集整理的数学--矩阵快速幂详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数学--数论--HDU - 6395 L
- 下一篇: 数学--数论--HDU6919 Seni