
乘法逆元
阿聊
愿我千帆过尽,归来仍是少年
展开
-
hdu 5685 Problem A (逆元)
题目题意:H(s)=∏i≤len(s)i=1(Si−28) (mod 9973),求一个字符串 子串(a 位到 b 位的)的哈希值。这个公式便是求字符串哈希值的公式,(字符的哈希值 = 字符的ASCII码 - 28),字符串的哈希值等于字符的哈希值的乘积( ∏ 这个就是累乘符号 )。化简过后的题意就是求一段序列中的区间乘,由于询问次数比较多,直接求乘会超时。就比如如下代码:#i原创 2017-11-18 21:35:37 · 276 阅读 · 0 评论 -
逆元
什么是逆元?每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n) , 一个数有逆元的充分必要条件是gcd(a,n)=1,此时逆元唯一存在 。逆元的含义:模n意义下,1个数a如果有逆元x,那么除以a相当于乘以x。逆元的定义:定义:正整数 a, n,如果有 ax ≡ 1(mod n),则称 x 的最小正整数解为 a 模 n的逆元。为什么要有乘法逆元呢?当我们要求(a/b)...原创 2017-11-18 21:25:42 · 18326 阅读 · 2 评论 -
hdu 1395 2^x mod n = 1
题目题目中给出输入一个整数n,要求一个最小整数的x,使得2^x mod n=1;根据模P乘法逆元:对于整数a、p如果存在整数b,满足a*b mod p=1则称b是a的模P乘法逆元。a存在模P的乘法逆元的充要条件是gcd(a,p)=1,令a=2^x,b=1,p=n则若存在x使用2^x mod n=1则gcd(2^x,n)=1(1)因为要求x的值大于0。则2^x的因子中一定有一个2,所以当n为偶数时,...原创 2018-05-01 14:22:13 · 194 阅读 · 0 评论 -
费马小定理
证明: 由欧拉定理可知 当gcd(a,n)==1 时 我们有 Aφ(n-1)≡ 1(mod n) ;所以 我们有 A*Aφ(n-2) ≡ 1(mod n) 所以Aφ(n-2) 就是A关于mod n的逆元 #include <iostream>#include <cstdio>using namespace std;int ...原创 2018-08-03 17:01:37 · 266 阅读 · 0 评论