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

数学(二)

快速幂

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

相关小说

月夜之情 连载中
月夜之情
乔忆娇
0.8万字10个月前
穿成反派大小姐后我躺赢了 连载中
穿成反派大小姐后我躺赢了
空花亦落果
常年排行垫底的系统菁菁被前辈扔到了反派大师姐身边,任务竞是阻止她崩坏位面!!菁菁欲死无泪,战战兢兢的跟着这个暴躁大师姐走过一个又一个位面。本......
1.7万字8个月前
心灵山等雪 连载中
心灵山等雪
温💔柔🦋
讲述了一个叫顾思耀的皇子爱上了一个叫沈念心的女孩,在一次的大战中,顾思耀不想连累沈念心,骗走了她,自己却失去了生命,沈念心抱着顾思耀的身体,......
2.3万字6个月前
蛇莓穿越初中之穿越之旅 连载中
蛇莓穿越初中之穿越之旅
屑榵榵
蛇莓穿越到了初三3班成为学生,从27章开始,蛇莓的名字改为了白珠樱,第29章开始模仿怪盗基德不更新了
115.9万字5个月前
数繁星 连载中
数繁星
长在n
以第一人称叙述,不同的故事
2.2万字2个月前
久柉神识述世间百态 连载中
久柉神识述世间百态
久柉
每一个故事都是独立的,相互不影响,理想主义,所以有时候故事发展较理想,结局也较美好,灵感来源于任何地方,有想法能发展成故事,就会想写出来,应......
1.4万字1个月前