矩陣乘法 Fibonacci第n項

2021-08-22 06:00:26 字數 872 閱讀 1969

時間限制: 1 sec  記憶體限制: 128 mb

提交: 11  解決: 4

[提交][狀態][討論版][命題人:quanxing]

大家都知道fibonacci數列吧,f[1]=1,f[2]=1,f[3]=2,f[4]=3.......也就是f[n]=f[n-1]+f[n-2]。現在,問題很簡單,輸入n和m,求第n項取模m。

輸入n,m。

1<=n<=2 000 000 000 。

1<=m<=1 000 000 010 。

輸出第n項取模m

5 1000
5
f[i]=1*f[i-1]+1*f[i-2]f[i-1]=1*f[i-1]+0*f[i-2]

#include#include#include#include#include#includeusing namespace std;

long long int n,m;

struct node//結構體儲存矩陣

f,res;

void init(node &x)//構造單位矩陣

void multiple(node &x,node &y,node &z)//矩陣乘法(把矩陣x乘以矩陣y的結果儲存到矩陣z)

}}void quickpow(int k)//快速冪

multiple(temp,temp,t);//temp=temp*temp

temp=t;

k>>=1;//k=k/2

}}long long int solve()

int main()

Fibonacci 矩陣乘法入門

fibonacci 題意 求斐波那契的第n項,0 n 1e9 思路 設f n 2 為乙個1 2的矩陣,表示斐波那契的第n項和第n 1項,那麼求它的下一項就是乘乙個2 2的矩陣 然後就是矩陣快速冪做就好了 include include include include using namespace ...

Fibonacci數列(矩陣乘法快速冪)

題目描述 定義 f0 f1 1,fn fn 1 fn 2 n 2 稱為fibonacci數列。輸入n,求fn mod q。其中1 q 30000。輸入描述 第一行乙個數t 1 t 10000 以下t行,每行兩個數,n,q n 109,1 q 30000 輸出描述 檔案包含t行,每行對應乙個答案。樣例...

矩陣乘法之Fibonacci的進擊

矩陣乘法的本質 矩陣乘法的定義 詳見8.23的筆記 靈魂畫手ll為您傾情演繹大型數學勵志劇矩陣乘法之fibonacci的進擊 鑑於tinymce的玄學屬性,以及markdown抽風的latex 我決定手繪 兩個分開的矩陣乘法 inline void vivi inline void cici inl...