【学习笔记】光速幂

简介:

光速幂主要思想是分块,把幂分为 (sqrt{p}) 份,那么 (a^b=a^{ksqrt p+t}),其中 (k,t) 为常数,(p) 表示模数。(mathcal{O}(sqrt p)) 预处理出所有 (a^{ksqrt{p}})(a^t)。然后 (mathcal{O}(1)) 查询。

因为 (b) 可能很大,所以要模 (varphi(p))

优缺点:

优点:

快!

缺点:

必须底数固定、模数固定。空间较大。

代码:

普通幂:

gugugu

矩阵幂:

gugugu
原文地址:https://www.cnblogs.com/GJY-JURUO/p/15374953.html