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

数学(二)

快速幂

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://www.bjxsw.cc),接着再看更方便。

相关小说

六芒星之旅 连载中
六芒星之旅
白井空慕
即将成为下一位新神的白玖,在历练时经历的种种事情与磨难,最后迎来的会是什么?是要坚持自己的决定与旧神卡维斯特抗争还是归顺于他,成为傀儡?
2.1万字11个月前
听潮阁:一起去看星星吧 连载中
听潮阁:一起去看星星吧
NeKKo
更新不稳定/圈地自萌/请勿出站欢迎指点/拒绝指指点点北夜是01年最最最好的小孩2.5次元,请勿上升正主三次,可能会有时间线bug/混乱问题,......
17.8万字10个月前
最后让我在看ta 连载中
最后让我在看ta
南屿崽
我是林川,永远爱着别人31的林川的想问29岁的林川,值得吗?我就是我,谁都替代不了四季的轮回,我们还会在见面的最后在看ta,看的是她还是他记......
10.8万字10个月前
他说北方有神鹿 连载中
他说北方有神鹿
厌色鹿鸣
【群像】谁苍白了我的等待,讽刺了我的执着。世人皆知四大雅:颜君抱花,公子斩妖,女帝弃剑,云鹤降世。却不知的是:颜君抱花,太子心动,却终是一出......
30.7万字10个月前
这个自然之灵,自由之子有点腹黑啊 连载中
这个自然之灵,自由之子有点腹黑啊
Y159***65764
**自然之女,自由之灵**她出生于晨曦的温暖,伴着鸟鸣的乐章,她是自然之女,身披阳光的衣裳。她的笑声,是风的低语,她的眼神,是星辰的闪亮。她......
6.9万字9个月前
世尘风落 连载中
世尘风落
LilacRose
远处传来一声悲歌,前方有烟雾弥漫着,玫瑰被丢进燃气的篝火……看透命运的人要承受命运的折磨。异世法则,多分段剧情,神话
25.3万字3个月前