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

数学(二)

快速幂

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.2万字2周前
今有包包在锅锅 连载中
今有包包在锅锅
苏晴舟
一个肉包子出生的一个女主幻化成人形来到人间寻找千年泪,是一个用尽一生爱你留下眼泪-
0.6万字1周前
美人虞 连载中
美人虞
煎馍馍
灵族怎可喜欢上深海里的鲛人,跨物种的恋爱,这是会乱套的。旁人眼中,那位明媚张扬的女孩不信邪般的与鲛人谈恋爱,简直是无可救药。它们不知道女孩有......
1.9万字10小时前
魔神对决 连载中
魔神对决
191***612
为了战胜邪恶势力,叶寻与千颜克服重重困难去寻找上古神兽,只为最终一战,给世界一个和平。
10.3万字4天前
星灵幻影 连载中
星灵幻影
晨曦_51327356096082374
一个女孩的神奇之旅
0.7万字4天前
八点之后 连载中
八点之后
猹狸猫
古铜巷里的三兄妹,看似商人,实则在治愈着伤心人,每到晚上八点之后,一行人便踏上了夜行之路,每每一件物品物归原主,一件奇异事件便在悄然发生。(......
1.9万字4天前