luogu P3811 模板 乘法逆元

2022-02-27 19:43:02 字數 611 閱讀 7163

這是一道模板題

給定n,p求1~n中所有整數在模p意義下的乘法逆元。

一行n,p

n行,第i行表示i在模p意義下的逆元。

10 13
179

108112

534

說明

\(1 \leq n \leq 3 \times 10 ^ 6, n < p < 20000528 1≤n≤3×10^6,n

輸入保證 p p 為質數。

逆元可以線性求:

inv(i)=((p-p/i)*inv[p%i])%p

也可以擴充套件歐幾里得求

那麼就是

ax+p(模數)y=1的解

也可以根據快速冪來求

根據費馬小定理

逆元就是a^(p-2)

以上幾種方法均需保證p為素數

#include#include#define ll long long

ll inv[3000053];

//int inv[maxn];

void inv(int a,int p)

int main()

洛谷 P3811 模板 乘法逆元

洛谷傳送門 這是一道模板題 給定n,p求1 n中所有整數在模p意義下的乘法逆元。一行n,p n行,第i行表示i在模p意義下的逆元。輸入 1複製 輸出 1複製 1 leq n leq 3 times 10 6,n p 200005281 n 3 106,n 20000528 輸入保證 pp 為質數。題...

洛谷 P3811 模板 乘法逆元 線性遞推逆元

給出n,p,求1 n所有數模p意義下的逆元.無論是擴充套件歐幾里得還是費馬小定理都是o n log 的,會t,這題因為是求1 n的所有數的逆元,因而可以遞推,若要求inv i 則可以設k p i,b p i.那麼k i b p 則k i b與0同餘.所以k i與 b同餘.所以k inv b 與 in...

luoguP4238 模板 多項式求逆

令 b x 表示 a x 在 x 下的逆 那麼有 b x 2b x ab x 遞迴一下即可 在 len 1 時直接對常數項求逆即可 這裡一定要注意!取逆的時候是預設 x 的,所以如果在多項式後面多加幾個 0 的話逆是會變的!因為模數改變了!code include include include i...