首页 > 其他分享 >逆元

逆元

时间:2023-02-06 10:45:00浏览次数:49  
标签:return int inv exgcd 逆元 ksm

求 \(b\) 在 \(\mod{p}\) 下的逆元

1.exgcd

条件:\(a,b\) 互质

void exgcd(int a,int b,int &x,int &y){
	if(!b)	x=1,y=0;
	else	exgcd(b,a%b,y,x),y-=a/b*x;
}
exgcd(a,p,inv,b);
inv=(inv%p+p)%p;

2.费马小定理&快速幂

条件:\(p\) 为质数

int ksm(int a,int b){
	if(b==0)	return 1;
	if(b==1)	return a;
	int t=ksm(a,b/2);
	if(b&1)	return t*t%p;
	else	return t*t%p*a%p;	
}
inv=ksm(a,p-2);
inv=(inv%p+p)%p;

3.线性求逆元

结论:\(inv_i=-\lfloor\dfrac{p}{i}\rfloor*inv_{p\%i}\)
条件:\([1,n]\) 中的所有数与 \(p\) 互质。

int inv[MAXN];
inv[1]=1;
for(int i=2;i<=n;i++){
	inv[i]=-(p/i)*inv[p%i];
	inv[i]=(inv[i]%p+p)%p;
}

标签:return,int,inv,exgcd,逆元,ksm
From: https://www.cnblogs.com/XHZS-XY/p/17094685.html

相关文章

  • 数组构造+逆元
    牛客2023寒假训赛3B请确保在尝试本题时了解数论中同余等式的相关内容。如不了解同余以及同余等式的相关性质,可以到oiwiki进行学习了解后再尝试本题。oiwiki同余(性质)......
  • 算法学习笔记(2): 逆元及其应用
    #逆元[TOC]##定义逆元素,是指一个可以取消另一给定元素运算的元素具体来说,对于实际的一些应用,如:当我们想要求`(11/3)%10`时 明显可以看出,是没有办法直接算的,这时就......
  • 第一周 F-乘法逆元2
    题目描述这可能是一道模板题。给定n个正整数ai,求每个数在模pp意义下的乘法逆元。提示:请使用高效的读入方式。思路代码#include<iostream>#definelllong......
  • 逆元
           乘法逆元,一般用于求(a/b)(modp)的值(p通常为质数),是解决模意义下分数数值的必要手段。       关于求余,有以下三种规则:       加法:(a+b)%......
  • 乘法逆元学习笔记
    定义当\(a,b\)满足\(ab\equiv1\pmodp\),\(a,b\)互为\(\pmodp\)的乘法逆元,也记作\(a^{-1}\)和\(b^{-1}\)。前置知识1.费马小定理若\(p\)为质数且\(\gc......
  • 乘法逆元
    乘法逆元在取模运算中发挥着极其重要的作用。我们可以很轻松的证明以下式子:\[(a+b)\%p=(a\%p+b\%p)\%p\\(a-b)\%p=(a\%p-b\%p)\%p\\a*b\%p=a\%p*b\%p\]但是对于......
  • 快速幂与逆元
    先上快速幂板子:#defineintlonglongintfast_power(intx,inty,intmod){intres=1;while(y){if(y&1)res=(res*x)%mod;x=(x*x)%mod;......
  • 乘法逆元
    若线性同余方程\(ax\equiv1(\modb)\),则称\(x\)为\(a\modb\)时的逆元,记作\(a^{-1}\)。扩展欧几里得求逆元。要求\(gcd(a,b)=1\).intexgcd(inta,intb,int&x,int......
  • 快速幂及求逆元
    目录快速幂1、快速幂的作用2、算法原理3、逆元快速幂1、快速幂的作用  快速幂可以帮助我们在\(O(\logk)\)的时间复杂度内计算出\(a^k\quadmod\quadp\)的结果。2......
  • 有理数逆元板子
    template<intM=1000000007>structrational{llp,q;rational(llp=0,llq=1):p(p),q(q){}rationaloperator+(constrational&rhs)const{......