數論補鍋之 乘法逆元

在做題的過程中,我們經常會遇到\small \frac{1}{x} \small %\small mod 求算結果的情況

這個等價於求算\small x乘法逆元

1.mod(模數)爲質數時

            利用費馬小定理有:\small a在模\small mod的意義下的乘法逆元 = \small a^{mod-2}

            代碼實現爲快速冪,求解一個\small a的時間複雜度爲 \large log_{2}^{a}

2.利用擴展歐幾里德算法求解

            將原式轉化爲\large a*x+mod *y=1

            求出\large x,最後求出最小正整數解:( x % mod + mod ) % mod

3.O(n)線性求解

             用於求解連續數字的逆元 例如:洛谷乘法逆元模版

             代碼如下:

    inv[1]=1;
    for (int i=2;i<=n;++i)
        inv[i]=(-(mod/i)*(LL)inv[mod%i]%mod+mod)%mod;

4.O(n)求階乘的逆元

持續更新。。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章