关于线性求逆元这个事

就很难受,每次要用到线性求逆元的时候就完蛋

所以解决一下这个问题

把代码贴到这里

黑嘿嘿

 inv[0]=inv[1]=1;  
    for(int i=2;i<N;i++)
        inv[i]=((mod-mod/i)*_inv[mod%i])%mod;  

还有一个线性求阶乘的逆元

先预处理一个最大的逆元

int ksm(int x,int y){
    int ret=1;
    while(y){
        if(y&1)ret=1ll*ret*x%mod;
        x=1ll*x*x%mod;
        y>>=1;
    }
    return ret;
}
inv[0]=1;inv[m]=ksm(jc[m],mod-2);
    //cout<<inv[m]<<endl;
    for(re i=m-1;i>=1;i--){
        inv[i]=1ll*inv[i+1]*(i+1)%mod;
    }

ojbk

 

posted @ 2021-06-07 20:09  fengwu2005  阅读(54)  评论(0编辑  收藏  举报