洛谷最短路题的讨论中看到的,学习了一下。计算(xy mod p):
long long quick_mul(long long x,long long y,long long p)
{
if (y==0) return 0;
if (y==1) return x%p;
long long re;
re=quick_mul(x,y>>1,p);
if ((y&1)==1) return (re+re+x)%p;
else return (re+re)%p;
}
思想就是(ab = 2*(afrac{b}{2}))
如果动机不是规避溢出的话,把取模去掉,会快很多。