Sumdiv ? 求A^B的约数和mod 9901. ? (0 <= A,B <= 50000000) ? 首先我们可以把a迚行分解质因数 a=p1^k1*p2^k2*p3^k3*...*pn^kn ? 则对于a^b的分解质因数结果为 a^b=p1^(k1*b)*p2^(k2*b)*...*pn^(kn*b) ? a^b的约数和f(a^b)可以表示为 f(a^b)=(1+p1+p1^2+...+p1^(k1*b))(1+p2+ p2^2+...p2^(k2*b))...(1+pn+pn^2+...+pn^( kn*b)) ? 对于p^k,即使指数很大,我们还是 可以通过快速幂在O(logn)的复杂度 内算出,但是由于乊前总结的式子的 项数非常的大,我们需要一些方法来 快速求出1+pn+pn^2+...pn^kn的 值。 ? 对于1+p+p^2+...p^k的值,我们可以用快速幂的方 法,使用二分对其迚行加速 ? 当k的值为奇数时 1+p+...+p^k=(1+p^(k/2+1))(1+p+p^2+...+p^(k/2)) 当k的值为偶数时 1+p+...+p^k=(1+p^(k/2))(1+p+...+p^(k/2-1))+p^k 具体实现时可以像快速幂一样用递归定义。 [ZOJ2562]反素数 ? 对于任何正整数x,其约数的个数记做g(x).例 如g(1)=1,g(6)=4. ? 如果某个正整数x满足:对于任意i(0