光速幂
Trick-光速幂
如果整个题目只求 \(a^x\) (a固定,x会变),则可以用 \(O(\sqrt{x_{max}})\) 预处理,\(O(1)\) 求解。
具体实现:预处理出 \(a^1, a^2, ···, a^{{\sqrt x}-1}\) 和 \(a^{\sqrt x}, a^{2*\sqrt x}, a^{3*\sqrt x},···,a^{x}\),然后就可以把上面两者组合求出任意 \(a^x\)。
如果整个题目只求 \(a^x\) (a固定,x会变),则可以用 \(O(\sqrt{x_{max}})\) 预处理,\(O(1)\) 求解。
具体实现:预处理出 \(a^1, a^2, ···, a^{{\sqrt x}-1}\) 和 \(a^{\sqrt x}, a^{2*\sqrt x}, a^{3*\sqrt x},···,a^{x}\),然后就可以把上面两者组合求出任意 \(a^x\)。