关于矩阵快速幂的用法总结QwQ

umm首先矩阵快速幂的板子就不港了比较简单的还是?就结合二进制地理解一下就好了,代码可以翻蒟蒻の考前续命这里面放了我记得?

主要是说下应用趴?

目前我会的似乎就是个矩阵加速?简单来说就是个给一个递推式(以板子为例说下?那么递推式就是f[x]=f[x-3]+f[x-1])给一个k要快速地求出f(k)

umm其实这个的话就是构造一个矩阵,然后套个矩阵快速幂就好了鸭

矩乘当然是板子的了,主要问题在于构造矩阵,这里港下我肝了一个下午的理解qwq

首先我们要理解矩阵?它的作用在哪儿?

umm这个点的话我觉得结合方程组和图像应该会好理解一些?然而我懒得画图也懒得举例辽QAQ所以放一个我学习矩阵的网址这里我觉得解释得真的贼好QwQ特别便于理解QwQ

然后直接进正题,如何构造矩阵

很容易能发现我们是从f[n-1],f[n-2],f[n-3]推出f[n],f[n-1],f[n-2],那我们就可以做出这样一个东西

f[n-1]    f[n]

f[n-2] × T =  f[n-1]

f[n-3]    f[n-2]

然后!如果我们能求出T,就可以矩阵快速幂地求出来辣!

然后思考一下可以得到f[]之间的关系

f[ n ]=1*f[n-1]+0*f[n-2]+1*f[n-3]

f[n-1]=1*f[n-1]+0*f[n-2]+0*f[n-3]

f[n-2]=0*f[n-1]+1*f[n-2]+0*f[n-3]

就能构造出

1,0,1
1,0,0
0,1,0

然后快速幂走一波,over

然后还有一个小细节是关于最开始的那个矩阵?

那个我不会构造,,,,所以我一直是大概性地猜一把然后多套几个数据然后就大概套出来了,,,关于这个我还没有总结出来呢QAQ等多打几个模板再总结下趴QAQ

还有就是其实我有个小目标!

等多做几道题之后大概会总结一下矩阵快速幂的基本公式!感jio其实是有套路的鸭QwQ

umm顺便说下听说还有什么矩阵光速幂啥的?以后再学趴QAQ

然后最后放几个题目就溜辣!

[ ] 斐波那契数列

[ ] 又是个斐波拉契数列(不过似乎难很多QAQ

先不加辽先吧这几道给做了QAQ

over!

猜你喜欢

转载自www.cnblogs.com/lqsukida/p/10161157.html