模板 矩陣快速冪

2021-08-07 01:37:22 字數 981 閱讀 8918

給定n*n的矩陣a,求a^k

輸入格式:

第一行,n,k

第2至n+1行,每行n個數,第i+1行第j個數表示矩陣第i行第j列的元素

輸出格式:

輸出a^k

共n行,每行n個數,第i行第j個數表示矩陣第i行第j列的元素,每個元素模10^9+7

輸入樣例#1:

2 1

1 1

1 1輸出樣例#1:

1 1

1 1n<=100, k<=10^12, |矩陣元素|<=1000

#include

#define ll long long

using

namespace

std;

const ll mod=1000000007;

ll n,k;

struct matrixa;

matrix x(matrix a,matrix b) //矩陣乘法的模板

matrix fast_m(matrix a,ll k)

return ret;

}int main()

return

0;}

#include 

#include

#include

#include

typedef

long

long ll;

using

namespace

std;

ll n,m,i,j,k;

struct matrix

return ret;

}}a;inline ll read()

while (ch>='0'&&ch<='9')

return ret*iep;

}matrix ksm(matrix a,ll x)

int main()

}

矩陣快速冪模板

剛學了矩陣快速冪,花了點時間把之前的 修改一下寫成了矩陣類,就當做模板了.話不多說下面貼 首先是標頭檔案和巨集定義什麼的 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 上面是我的基本矩陣快速冪模板,其實矩陣快速冪難的不是你怎麼寫,難的是你矩陣怎麼構造。矩陣的構造,就是找遞推關係。要把需要用到的遞推關係包含操作矩陣上去。找到合適的初始向量和合適的操作矩陣,你基本就可以完成題...