数学联邦政治世界观
超小超大

数学(二)

快速幂

1.快速幂求xᵇ % p

其中x,b,p均∈ [1,1e9],时间复杂度为O(logb)

算法原理:反复平方法‬

b=2ˣ¹+. . . . . .+2ˣⁿ (通过2进制数位实现),比如11的二进制为1011,1011中第零位为1,代表 2⁰ ,第一位为1,代表 2¹ ,第二位为0,代表0,第三位为1,代表 2³ ,所以11=2^0+2^1+2^3。同理, xᵇ=x²⁰×. . . . . .x²ˡᵒᵍᵇ 可快速得到。其中 x²ⁿ 通过反复平方得到。

参考代码:

LL qmi(int x, int b, int p)

{

LL res = 1 % p;

while (b)

{

if (b & 1) res = res * x % p;

x = x * (LL)x % p;

b >>= 1;

}

return res;

}

2.快速幂求x mod p的乘法逆元‬

初等数学上乘法逆元就是倒数(a*x=1,则x是a的乘法逆元),算法中我们常讨论取模运算的乘法逆元(α * xmodp ≡ 1 ,代码表示为a * x % p = 1,x是a%p的乘法逆元)

算法中常求乘法逆元将除法变成乘法以简化运算。

当n为质数时,可以用快速幂求逆元:

代码与快速幂代码相同,只不过参数改为qmi(x,p-2,p)【推导用到了费马小定理】

龟速乘

与快速幂类似,求(α * b)modp的值,a,b,p范围均[1,1e18]。

其实就是把快速幂的相乘算法改为相加算法

LL qadd(LL a, LL b, LL p)

{

LL res = 0;

while (b)

{

if (b & 1) res = (res + a) % p;

a = (a + a) % p;

b >>= 1;

}

return res;

}

数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。

相关小说

神明:破碎的旋律 连载中
神明:破碎的旋律
软橘不是橘
传说,在威严肃穆的浣花神殿中,驻守着四位强大的神明,他们性格迥异,能力也不同,在他们的打理下,神殿一直在井井有条的运行着乐观开朗的时间之神:......
0.1万字1个月前
精灵梦(不是叶罗丽!) 连载中
精灵梦(不是叶罗丽!)
看破文的小初生
一个人类女孩为了一个梦境而拯救世界的故事……
2.6万字1个月前
冒充我们,你也配(守护者队) 连载中
冒充我们,你也配(守护者队)
星辰月舞呀
守护者队上综艺遇到冒充者,然后扒马甲
0.1万字1个月前
十二星座之光凌影 连载中
十二星座之光凌影
星河徜徉
黑暗入侵十二星宫,白羊宫宫主在外逃过一劫,其他十一星宫宫主被黑化带下凡,星神派遣白羊下凡进化十一星宫宫主,合力封印影神,她能做到吗?/原创/......
4.7万字1个月前
魔法少年爱你一人 连载中
魔法少年爱你一人
该用户已注销
一次因为一本书发生的搞笑际遇,将小夕与少年秋沐云的命运紧紧连在了一起。。。。
9.9万字1个月前
神之侦探团第二部 连载中
神之侦探团第二部
凤雪玥
继第一部,续作。
8.9万字4周前