【奇技淫巧】数学技巧之乘法逆元

一、写在前面

开始码这篇blog之前我就意识到,这篇blog将会是我到目前为止码出的所有blog中最水的一篇。说是讲乘法逆元,但蒟蒻博主自己都不会证明_(:з」∠)_所以只打算放一个说明书式的用法,还请诸位看官老爷轻喷。

二、关于乘法逆元

我们知道模法交配率(Magic Coitus Law)(←_←其实并没有这东西)并不适用于除法。用式子表示大概是这样的:

但乘法逆元(Multiplicative Inverse Modulo,下式中用a‘表示)就可以完成这样一个奇妙的操作:

然后我们就能用模法交配率啦(撒花~\(≧▽≦)/~

那乘法逆元怎么求呢?说了我也不知道啊┑( ̄Д  ̄)┍但我知道,当模数p为质数时,乘法逆元可以长这个样子:

于是,我们就可以得到:

以上,乘法逆元的说明书就到这里啦,例题什么的等我找到能用到乘法逆元的题再放吧。

弱弱地说一句,本蒟蒻码字也不容易,转载请注明出处http://www.cnblogs.com/Maki-Nishikino/p/6057739.html

时间: 2024-08-02 15:10:49

【奇技淫巧】数学技巧之乘法逆元的相关文章

CodeForces 300C Beautiful Numbers(乘法逆元/费马小定理+组合数公式+快速幂)

C. Beautiful Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Vitaly is a very weird man. He's got two favorite digits a and b. Vitaly calls a positive integer good, if the decimal

【点分治】【乘法逆元】hdu4812 D Tree

思路比较裸,但是要把答案存到哈希表里面,这里需要一定技巧,否则会被K=1且点权全是1的数据卡飞.预处理乘法逆元.TLE了一天.换了种点分治的姿势…… #pragma comment(linker,"/STACK:102400000,102400000") #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int Res;char C; inline

扩展GCD 中国剩余定理(CRT) 乘法逆元模版

extend_gcd: 已知 a,b (a>=0,b>=0) 求一组解 (x,y) 使得 (x,y)满足 gcd(a,b) = ax+by 以下代码中d = gcd(a,b).顺便求出gcd 能够扩展成求等式 ax+by = c,但c必须是d的倍数才有解,即 (c%gcd(a,b))==0 注意求出的 x,y 可能为0或负数 =================================== 乘法逆元: a*b %n == 1 已知 a, n, 求b 就是乘法逆元 ============

乘法逆元详解

由于我是蒟蒻,就用蒟蒻能理解的简单说法来讲吧. 乘法逆元用于同余方程中.数学家们看到在同余方程中的加减乘法都好做,只有除法不好搞,于是发明了乘法逆元这么个东西... 根据蒟蒻的理解,乘法逆元是这样的: 设C为B的乘法逆元, 有 A/B≡D(mod p) 则有 A*C≡D(mod p) 显然这就是把除法变成了乘法,这样同余方程就可以解了. 如何求乘法逆元? 这里只给出一种方法(因为我就会一种而且它最简单):费马小定理 a在mod p意义下的乘法逆元是  a^(p-2) 证明?不会 另外,如果一个数

浅谈欧拉定理及乘法逆元

浅谈欧拉定理及乘法逆元 本篇随笔简单讲解一下信息学奥林匹克竞赛数论部分欧拉定理及乘法逆元这一知识点.介绍的内容大致分为这么几个部分:"同余的基本概念.费马小定理.欧拉定理及其推论.乘法逆元". 同余的基本概念 同余的概念啊非常简单啦:如果两个整数\(a,b\)除以一个数\(m\)的余数相等的话,那么就叫做\(a,b\)在模\(m\)的意义上同余. 记作: \[ a\equiv b\,\,\,(mod\,\,m) \] 那么根据同余的这个定义,我们很容易能推导出一个性质:如果两个数\(a

HDU3037 Saving Beans(Lucas定理+乘法逆元)

题目大概问小于等于m个的物品放到n个地方有几种方法. 即解这个n元一次方程的非负整数解的个数$x_1+x_2+x_3+\dots+x_n=y$,其中0<=y<=m. 这个方程的非负整数解个数是个经典问题,可以+1转化正整数解的个数用插板法解决:$C_{y+n-1}^{n-1}=C_{y+n-1}^y$. 而0<=y<=m,最后的结果就是—— $$\sum_{i=0}^m C_{i+n-1}^i$$ $$C_{n-1}^0+C_{n}^1+C_{n+1}^2+\dots+C_{n-1

UVa 11174 (乘法逆元) Stand in a Line

题意: 有n个人排队,要求每个人不能排在自己父亲的前面(如果有的话),求所有的排队方案数模1e9+7的值. 分析: <训练指南>上分析得挺清楚的,把公式贴一下吧: 设f(i)为以i为根节点的子树的排列方法,s(i)表示以i为根的子树的节点总数. f(i) = f(c1)f(c2)...f(ck)×(s(i)-1)!/(s(c1)!s(c2)!...s(ck)!) 按照书上最开始举的例子,其实这个式子也不难理解,就是先给这些子树确定一下位置,即有重元素的全排列. 子树的位置确定好以后,然后再确定

LightOJ - 1050 (唯一分解+推公式+乘法逆元)

题意:求a^b的所有约数和对1e9+7取模的结果 思路:对于一个数p,进行唯一分解,则p=P1^M1*P2^M2*...*Pn^Mn,则p的所有约数之和等于(P1^0+P1^1+...+P1^M1)*(P2^0+P2^1+...+P2^M2)*...*(Pn^0+Pn^1+...+Pn^Mn), p^t=P1^(M1*t)*P2^(M2*t)*...*Pn^(Mn*t),每一个(Pn^0+Pn^1+...+Pn^Mn)利用等比数列可以直接推出公式为(Pn^(Mn*t+1)-1)/(Pn-1),用

乘法逆元...Orz

最近打的几场比赛,都出现了有关逆元的题目,今天就整理了一下... 求乘法逆元的几种方法:http://www.cnblogs.com/james47/p/3871782.html 博文转载链接:http://blog.csdn.net/acdreamers/article/details/8220787 今天我们来探讨逆元在ACM-ICPC竞赛中的应用,逆元是一个很重要的概念,必须学会使用它. 对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元. 逆元一般用扩展欧几里得算法来求