洛谷P3811乘法逆元】的更多相关文章

传送门 线性递推 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define re register using namespace std; const int maxn = 3000005; int n; long long mod; int p[maxn]; int main(){ scanf(&…
P3811 [模板]乘法逆元 题意 求1-n所有整数在模p意义下的逆元. 分析 逆元 如果x满足\(ax=1(\%p)\)(其中a p是给定的数)那么称\(x\)是在\(%p\)意义下\(a\)的逆元 A 拓展欧几里得算法 \[ax=1(\%p)\] 转换一下也就是 \[ax+py=1\] #include<bits/stdc++.h> using namespace std; typedef long long ll; int extgcd(int a,int b,int&x,int…
P3811 [模板]乘法逆元 给定n,p求1~n中所有整数在模p意义下的乘法逆元. T两个点的费马小定理求法: code: #include <iostream> #include <cstdio> using namespace std; #define int long long int n,mod; inline int read(){ int sum=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='…
P3811 [模板]乘法逆元 题目背景 这是一道模板题 题目描述 给定n,p求1~n中所有整数在模p意义下的乘法逆元. 输入输出格式 输入格式: 一行n,p 输出格式: n行,第i行表示i在模p意义下的逆元. 输入输出样例 输入样例#1: 复制 10 13 输出样例#1: 复制 1 7 9 10 8 11 2 5 3 4 说明 1 \leq n \leq 3 \times 10 ^ 6, n < p < 200005281≤n≤3×106,n<p<20000528 输入保证 pp …
P3811 [模板]乘法逆元 线性求逆元 逆元定义:若$a*x\equiv1 (\bmod {b})$,且$a$与$b$互质,那么我们就能定义: $x$为$a$的逆元,记为$a^{-1}$,所以我们也可以称$x$为$a$的倒数, 所以对于$\frac{a}{b} (\bmod {p})$ ,我们就可以求出$b$在$\bmod {p}$下的逆元,然后乘上$a$,再$\bmod {p}$,就是这个乘法逆元的值了. 一.exgcd求逆元(O(l$og_n$)) 这个就是利用拓欧求解线性同余方程$a*x…
乘法逆元 题目链接 求逆元的三种方式: 1.扩欧 i*x≡1 (mod p) 可以化为:x*i+y*p=1 exgcd求x即可 inline void exgcd(int a,int b,int &x,int &y){ ){ x=; y=; return; } exgcd(b,a%b,x,y); int t=x; x=y; y=t-(a/b)*y; } 2.快速幂 费马小定理:a^(p-1) ≡ 1 (mod p) a*a^(p-2)≡1(mod p) x=a^(p-2) 即为逆元 inl…
题目背景 这是一道模板题 题目描述 给定n,p求1~n中所有整数在模p意义下的乘法逆元. 输入输出格式 输入格式: 一行n,p 输出格式: n行,第i行表示i在模p意义下的逆元. 输入输出样例 输入样例#1: 10 13 输出样例#1: 1 7 9 10 8 11 2 5 3 4 说明 1≤n≤3×10^6  ,  n<p<20000528 输入保证 p 为质数. 这个题比较适合用线性算法 a*m=1(mod m) 称a是m的乘法逆元. #include <iostream> #i…
https://www.luogu.org/problem/show?pid=3811 题目背景 这是一道模板题 题目描述 给定n,p求1~n中所有整数在模p意义下的乘法逆元. 输入输出格式 输入格式: 一行n,p 输出格式: n行,第i行表示i在模p意义下的逆元. 输入输出样例 输入样例#1: 10 13 输出样例#1: 1 7 9 10 8 11 2 5 3 4 说明 1 \leq n \leq 3 \times 10 ^ 6, n < p < 200005281≤n≤3×10​6​​,n…
传送 乘法逆元:ax ≡ 1 (mod p),其中x为a的逆元,求模意义下的乘法逆元,通常有一下几种方法: 1.拓展欧几里得(也就是exgcd) ax ≡ 1 (mod p) ax-py=1 这就变成解不定方程的问题了,根据拓展欧几里得算法,代码如下(会TLE3个点)(就算开o2优化也没有卵用) #include<iostream> #include<cstdio> using namespace std; long long n,p; void exgcd(long long a…
题目传送门 逆元定义 逆元和我们平时所说的倒数是有一定的区别的,我们平时所说的倒数是指:a*(1/a) = 1,那么逆元和倒数之间的区别就是:假设x是a的逆元,那么 a * x = 1(mod p),也就是只多了一个取余的操作,这个取余的操作,就会保证a的逆元不一定只是a的倒数.那么我们的逆元有什么作用呢? 并且取余还不满足下面式子:( a/b )%p = (a%p  /  b%p)  %  p ,那么我们如果遇到b过大必须在中间过程进行取余的操作,那么我们会发现在乘法中满足:(a*b) % p…