矩陣快速冪就是快速冪的矩陣用法
ll fast_power(ll fp_a , ll fp_n , ll fp_p)
return ret;
}
得到遞推公式後推出轉移矩陣然後就套模版啦
#include
#include
#define mod 1000000009
#define ll long long
using
namespace
std;
struct matrix ;
matrix unit_matrix = ; //單位矩陣
matrix mul(matrix a, matrix b)
}return res;
}matrix pow_matrix(matrix a, ll n)
return res;
}int main()
matrix tmp = , ans, x = ;
ans = pow_matrix(tmp, n - 2);
ans = mul(x, ans);
cout
<< " ";
cout
<< ans.mat[0][1] << endl;
}return
0;}
以下是加強版嘻嘻嘻
#include
#include
#define mod 1000000009
#define ll long long
using
namespace
std;
struct matrix ;
matrix unit_matrix = ; //單位矩陣
matrix mul(matrix a, matrix b, int x, int y, int z)
}return res;
}matrix pow_matrix(matrix a, ll n, int x)
return res;
}int main()
matrix tmp = , ans, x = ;
ans = pow_matrix(tmp, n - 2, 2);
ans = mul(x, ans, 1, 2, 2);
cout
<< ans.mat[0][1] << endl;
}return
0;}
模版 快速冪 矩陣快速冪
原理 x yx y xy中的 y yy 轉化成二進位制數,然後每乙個 1 11 對應 x xx 的 i ii 次方 這樣把x yx y xy轉化成了x yx y xy x ax a xa x bx b xb x cx c xc 通過對 x xx 不斷翻倍的過程,來匹配y轉成二進位制的 111。如果為...
矩陣快速冪模版
const int n 10 int tmp n n void multi int a n int b n int n 上訴res陣列就等同於普通快速冪初始化的1,原理想通的,這個矩陣叫單位矩陣e,性質就是e a a,就是1 a a,一樣,單位矩陣就是對角線全是1其他全是0 最終算出的結果是乙個re...
矩陣快速冪的總結以及模版
jun 碰到了挺多數列的題,線性遞推,值又很大,直接推會超時,所以去網上找題解的時候,找到了矩陣快速冪以及杜教板子,杜教板子還沒看懂,就以後再發 首先,快速冪,之前也學了整數的快速冪,複雜度是o log 2n 這裡就把模版貼一下 int poww int a,int b return ans 然後對...