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

数学(二)

快速幂

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),接着再看更方便。

相关小说

亦然决然 连载中
亦然决然
@髭.Ash
初识之际,陆辞亦的出现是更深的深渊,陆辞亦也不知自己是否喜欢萧羽然,直至萧羽然死亡陆辞亦才明白萧羽然对于自己来说是重要的……上天给了陆辞亦机......
0.4万字4个月前
女娲传奇之夙念 连载中
女娲传奇之夙念
香飘飘.
好友的欺骗……兄妹的挑拨……心爱之人的质疑……最终让她走上了不归路……等一切结束时……早已物是人非
17.1万字4个月前
星际迷恋 连载中
星际迷恋
苏小布
4.6万字4个月前
说我们是正派?不信不信 连载中
说我们是正派?不信不信
鹤小逍其实很困哈
(#少量微恐猎奇元素+群像+架空魔法世界+西幻+全员白切黑反差+成长篇+oc主剧情故事线+全文原创剧情)沧斜星分裂,百年前守护介澜星的先辈们......
6.7万字4个月前
带着萌宠穿越时空第一季 连载中
带着萌宠穿越时空第一季
凤雪玥
  凤玥汐,二十一世纪的少年侦探,因为一场意外,与自家宠物卷入了时空裂缝,来到了一个平行空间,一个蓝发金眼的美少年告诉她,需要穿越各个平行世......
15.3万字4个月前
古道仙境1 连载中
古道仙境1
优甜美子
【已签约】故事情节说的就是,两个女生和一个神仙还有一个神秘的少年一起去冒险,一起找紫宝石,然后,有一个女生就爱上了一名神仙,她那个时候,很迷......
10.7万字4个月前