矩陣快速冪模板

2021-06-23 01:31:27 字數 1055 閱讀 7270

剛學了矩陣快速冪,花了點時間把之前的**修改一下寫成了矩陣類,就當做模板了......

話不多說下面貼**

首先是標頭檔案和巨集定義什麼的

#include #include #include using namespace std;

#define inf 1000000000

#define maxm 20

#define maxn 20

然後是矩陣類

class matrix

}} return ret;

} friend matrix operator + (matrix a, matrix b)

}return ret;

} matrix(int row, int col, int mod);

void init(); //讀入矩陣

void clear(); //清零

void e(); //變成乙個單位矩陣

void print(); //輸出矩陣

matrix quick_multipe(int k); //矩陣二分快速冪

public:

int m, n, mod;

int mat[maxn][maxn];

};matrix:: matrix(int row = maxm, int col = maxn, int mod = inf)

void matrix::init() }}

void matrix::clear()

void matrix::e()

}void matrix::print()

printf("\n"); }}

matrix matrix::quick_multipe(int k)

return ans;

}

矩陣快速冪模板

矩陣快速冪 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 上面是我的基本矩陣快速冪模板,其實矩陣快速冪難的不是你怎麼寫,難的是你矩陣怎麼構造。矩陣的構造,就是找遞推關係。要把需要用到的遞推關係包含操作矩陣上去。找到合適的初始向量和合適的操作矩陣,你基本就可以完成題...

矩陣快速冪 模板

問題 求解乙個n n矩陣的 m次冪。核心 構造矩陣。思想 利用二進位制優化時間複雜度。應用 優化遞迴公式!舉例 求解第n個斐波那契數。實現 include include include define maxn 100 define ll long long define mod 10000 usi...