线性求逆元P3812 【模板】线性基

本文探讨了在模p意义下求解1至n范围内所有整数的乘法逆元问题,利用费马小定理和递推关系,提出了一种高效算法。通过分析p与i的关系,导出了递推公式,从而避免了逐个求解的低效方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意

给定 n,p,n,p,n,p,1∼n1∼n1n中所有整数在模 pp 意义下的乘法逆元。(p为质数)(p为质数)(p)

题解

根据费马小定理,我们要一个一个求exgcdexgcdexgcd,显然太慢了
我们假设p=k×i+rp=k\times i+rp=k×i+r,那么有p(modi)=rp(modi)=rp(modi)=r且有
k×i+r≡0(mod p)k\times i+r\equiv 0(mod\ p)k×i+r0(mod p)同时乘上i−1,r−1i^{-1},r^{-1}i1,r1得到
k×r−1+i−1≡0(mod p)k\times r^{-1}+i^{-1}\equiv 0(mod\ p)k×r1+i10(mod p)
整理得
−k×r−1≡i−1(mod p)-k\times r^{-1}\equiv i^{-1}(mod\ p)k×r1i1(mod p)
(p(mod i))−1=r−1(p(mod\ i))^{-1}=r^{-1}(p(mod i))1=r1
k=⌊pi⌋k=\lfloor \frac{p}{i}\rfloork=ip
于是得到一个递推关系
−⌊pi⌋×(p(mod i))−1≡i−1(mod p)-\lfloor \frac{p}{i}\rfloor\times (p(mod\ i))^{-1}\equiv i^{-1}(mod\ p)ip×(p(mod i))1i1(mod p)

inv[i]=inv[p%i]*(p-p/i)%p;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值