矩陣快速冪 模板

2021-09-26 01:09:39 字數 728 閱讀 9227

hdu1005

f(n)=(a*f(n-1)+b*f(n-2))%7

首先就是最難的一步,構造出轉移矩陣。這個東西就直接決定了題的難度,這道題還是很簡單的,只有兩行,兩列。

然後再找規律,算出要乘多少次

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

struct matrix

;//把矩陣放在結構體中

matrix mul(matrix a,matrix b)

//矩陣乘法,行和列對應相乘相加

return c;

}matrix pow(matrix a,int k)

//單位矩陣,存放答案

while(k)

//快速冪運算

return c;

}int main()

matrix st;

st.ma[0][0]=a%7;

st.ma[0][1]=b%7;

st.ma[1][0]=1;

st.ma[1][1]=0;//構造乙個矩陣

st=pow(st,k-2);

ans=(st.ma[0][0]+st.ma[0][1])%7;

printf("%d\n",ans);

}return 0;

}

矩陣快速冪模板

剛學了矩陣快速冪,花了點時間把之前的 修改一下寫成了矩陣類,就當做模板了.話不多說下面貼 首先是標頭檔案和巨集定義什麼的 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取模後的...

矩陣快速冪模板

struct mat mat operator const mat c return res 上面是我的基本矩陣快速冪模板,其實矩陣快速冪難的不是你怎麼寫,難的是你矩陣怎麼構造。矩陣的構造,就是找遞推關係。要把需要用到的遞推關係包含操作矩陣上去。找到合適的初始向量和合適的操作矩陣,你基本就可以完成題...