矩陣快速冪 快速冪模板poj3070

2021-10-04 07:31:58 字數 1319 閱讀 3666

poj3070

題意就是通過,矩陣求斐波那契數列數列:

如果不知道遞推怎麼來的,或者不知道矩陣快速冪的,可去:

看不懂打我

其實矩陣快速冪和快速冪乙個思想來的,**都差不多,矩陣快速冪就是把快速冪的乘法運算換成矩陣乘法,再加上一點矩陣知識。

快速冪模板:

#define ll long long int

ll quick_pow

(ll a,ll b,ll p)

b=b>>1;

a=a*a%p;

}return ans%p;

}

矩陣快速冪模板:

#define ll long long int

node mul

(node x,node y,

int p)

//矩陣乘法

node quick_pow

(node a,ll b,

int p)

//矩陣快速冪並求餘(p)

b>>=1;

a=mul(a,a,mod);}

return ans;

}

ac**:
#include

#include

#include

#include

using namespace std;

#define ll long long int

#define m 2

const

int mod=

10000

;struct node

;void

init

(node &x)

//初始化為單位矩陣

node mul

(node x,node y,

int p)

//矩陣乘法

node quick_pow

(node a,ll b,

int p)

//矩陣快速冪並求餘(p)

b>>=1;

a=mul(a,a,mod);}

return ans;

}int

main

(void

)return0;

}

快速冪與矩陣快速冪模板

int ksm int a,int b return ans 矩陣快速冪簡單來說就是快速冪和矩陣乘法的結合 矩陣快速冪的模板 以斐波那契數列為模板 include using namespace std struct node node jzc node a,node b void jz ksm i...

矩陣快速冪模板

剛學了矩陣快速冪,花了點時間把之前的 修改一下寫成了矩陣類,就當做模板了.話不多說下面貼 首先是標頭檔案和巨集定義什麼的 include include include using namespace std define inf 1000000000 define maxm 20 define m...

矩陣快速冪模板

矩陣快速冪 o log n nyoj301 580ms 時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 給你乙個遞推公式 f x a f x 2 b f x 1 c 並給你f 1 f 2 的值,請求出f n 的值,由於f n 的值可能過大,求出f n 對1000007取模後的...