国庆七天乐——第二天

【数论】(所有的等于都是恒等)

  1. 费马小定理:p为质数

A^(p-1)=1 (mod p)

  1. 欧拉定理:p是任意自然数

A^phi(p)=1 (mod p)

费马小定理是欧拉定理的特殊情况

  欧拉函数:phi(n)是少于n的数中与n互质的数的数目

   求法:小学生容斥

                     减去含一个素数的,加上含两个素数的,减去含三个函数的…….      N(1/1-1/p1-1/p2+1/p1*p1…….)

         设R(s)=(1-1/p1)*R(S/n))

                       

p为底数集合,a为指数集合

例子:15=3^1*5^1

      Phi(15)=(3-1)*3^(1-1)*(5-1)*5^(1-1)=2*4=8

一个需要记住的结论

例题

  1. 素数判断

随机整数a,根据费马小定理判断a^(n-1)=1

4二次探测定理

   若p是素数,x是一个整数,且x^2 mod p=1,那么x=1|x=-1(mod p)

一个质数不存在“非平凡平方根”

例:23^2=1(mod 66)

5.Miller_rabin

Miller-rabin是一个基于费马小和二次探测定理的一种有一定错误率的算法。

我们要尽可能的找能够判断这个数为合数的线索,

要么,它违背了费马小,要么它违背了二次探测(主)

如果他是从(-1)^2过来的,我无话可说,也无法判断是否为合数,但如果他是从别的数通过%p得来的,那么他就是是违背了二次探测定理,所以我们就可以就此判断他是合数

6.快速乘

 11.同二进制快速幂

 12.   2.65526进制快速幂

 13. (a * b−(long long)floor((long double)a *b/m) * m + m)%m

人品算法,爆零自负自负

7.中国剩余定理

       x在mod Bi时,其实只有一个式子与结果有关

就是:Ki*R/Bi(其它式子都包含Bi)

所以就会变成 Ki’*R/Bi=x (mod Bi),也就变成了裴蜀定理

8.欧几里得算法

  Gcd(a,b)=gcd(b,a%b)

  Gcd(a,b)*ab=lcm(a,b)

裴蜀定理:ax+by=m 有解当且仅当m是gcd(a,b)的倍数//

  扩展欧几里得求同余方程

  求得  x=y’,y=x’-a/by’,推到底,再顺着退回来

9.同余系

10.积性函数:如果一个数论函数f(x)满足对于任意的互质正整数n,m均有f(nm)=f(n)*f(m),称为积数函数

  完全积性函数:如果一个数论函数f(x)满足对于任意的正整数n,m均有f(nm)=f(n)*f(m),称为完全积数函数(特)

常见积性函数

模n意义下的逆元INV(x)

欧拉函数 phi(x)

因数个数的函数

因数和函数

莫比乌斯函数 mu(x)

11.线性筛

  If(i%prime[j]==0) break;

线性筛不仅可以O(n)的筛除所有的素数,还可以同时求出所有的积性函数,具体详见《贾志鹏线性筛》

例题:定情信物:

   Ans=c(k,n)*2^(n-k)

N表示总维度,k表示所求元素的个数

线性筛求逆元,记录p出现了多少次

【高精度】

用class(类)来搞最好。

 重定义函数+压位

【卷积】ci=sum k (ak*bi-k)

  aàa’

  bàb’

  càc’ (傅里叶变换O(n))

a’与b’的卷积=c’ ,a与b的卷积=c

【Python】;

Import.math 数学函数

Import.sqrt(10);

Math.log(1,123)

甚至可以求虚数 import.sqrt(-1)

且用python写数据,输出的数据都是自带最快高精的。

具体的语句还需要具体的学习

【矩阵】

    

原文地址:https://www.cnblogs.com/ZDHYXZ/p/7622440.html