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

数学(二)

快速幂

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

相关小说

一个誓言走一世 连载中
一个誓言走一世
情终须缘
复合√回家√蝶眸殉情黑化……(反正不虐,很甜)一笑倾国,再笑倾城。
10.1万字3个月前
出没 连载中
出没
我家的糖不甩
月亮《出没》的夜晚,什么故事都有可能发生。纯脑洞文,幻想离奇的事件。这次依旧是光怪陆离的黑暗成人童话,却也不乏温暖和治愈。【在此申明,文中三......
1.6万字2个月前
雾灵念学院 连载中
雾灵念学院
雪酷
全职猎人的现象系番外,没有特定的主角
1.3万字2个月前
幻想:不公定律—无罪世界 连载中
幻想:不公定律—无罪世界
维治托劳斯
嘈杂的声音充斥在教室中,所有人都嘻皮笑脸的,一切都很和谐,但是在这片虚伪的和谐中,藏着许多不为人知的恶劣——对同学的另眼相待,谣言乱飞,校园......
0.3万字2个月前
千秋引岚霜录 连载中
千秋引岚霜录
梦茳行
我的信仰因你而生,所以在我的世界当中,你则是我的神明。————————我不在乎你在别人眼中是谁,我只在乎你是我一人的阿岚,唯一的阿岚
0.6万字2个月前
师妹修仙:笑闹青云间 连载中
师妹修仙:笑闹青云间
南山竹海^
本以为修仙之路严肃艰辛,可谁能想到竟有这么一位沙雕师妹,将整个修仙界搅得欢笑不断!看她如何在青云间摸爬滚打,凭借自己的无厘头和独特魅力,闯出......
2.2万字5天前