![image](https://www.icode9.com/i/l/?n=22&i=blog/2454109/202207/2454109-20220721204227792-1613891143.png)
初始矩阵:\([F(1,1),1]\)。
![image](https://www.icode9.com/i/l/?n=22&i=blog/2454109/202207/2454109-20220721204441872-1834048411.png)
\(\mathrm{ans}=A^{m-1}\times (B\times A^{m-1})^{n-1}\)。
直接矩阵快速幂可能因常数过大而超时。
我们能不能用欧拉定理减少幂次呢?
首先因为
![image](https://www.icode9.com/i/l/?n=22&i=blog/2454109/202207/2454109-20220721204824584-3825788.png)
发现 \(01\) 还是 \(01\)。然后再发现
![image](https://www.icode9.com/i/l/?n=22&i=blog/2454109/202207/2454109-20220721211805133-1878303501.png)
如果快速幂前发现 \(a=1\),需要特判,因为 \(b(a^0+...+a^{\phi_p-1})\) 此时不为 \(0\)。
是一个 trick!
标签:发现,01,定理,矩阵,times,欧拉
来源: https://www.cnblogs.com/Kidulthood/p/16503638.html