您的位置:首页 > 其它

快速幂(矩阵快速幂)

2018-03-14 21:29 330 查看
快速幂讲解:点击打开链接
模板#define ll long long
ll qsm(ll x,ll n,ll mod)
{
ll ans=1;
while(n)
{
if(n&1)
ans=(ans*x)%mod
x=(x*x)%mod;
n=n>>1;
}
return ans;
}矩阵快速幂讲解点击打开链接
对于矩阵乘法与递推式之间的关系:如:在斐波那契数列之中f[i] = 1*f[i-1]+1*f[i-2]  f[i-1] = 1*f[i-1] + 0*f[i-2];即

所以


就这两幅图完美诠释了斐波那契数列如何用矩阵来实现。
一道模板题

题目链接

Tr A

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6198    Accepted Submission(s): 4630


[align=left]Problem Description[/align]A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。
 
[align=left]Input[/align]数据的第一行是一个T,表示有T组数据。
每组数据的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)两个数据。接下来有n行,每行有n个数据,每个数据的范围是[0,9],表示方阵A的内容。
 
[align=left]Output[/align]对应每组数据,输出Tr(A^k)%9973。 
[align=left]Sample Input[/align]
2
2 2
1 0
0 1
3 99999999
1 2 3
4 5 6
7 8 9 
[align=left]Sample Output[/align]
2
2686 
[align=left]Author[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: