ACM入门之数学

一、数论

1.唯一分解定理:

题目:[lightoj1341](https://vjudge.net/contest/234388#problem/G),

题解:点击打开链接

[POJ1730](https://vjudge.net/contest/234388#problem/F)

题解:点击打开链接

2.Eratosthenes筛法:

埃氏筛素数:

int m=sqrt(n+0.5);
memset(vis,0,sizeof(vis));   //vis[i]=0表示i是素数。
for(int i=2;i<=n;i++)
{
    if(!vis[i])
    for(int j=i*i;j<=n;j+=i)
    {
        vis[j]=1;
    }
}

素数定理:π(x)~x/ln(x)

3.扩展欧几里得算法:

void gcd(int a,int b,int &d,int &x,int &y)//ax+by=gcd(a,b),d是gcd(a,b)
{
    if(!b)
    {d=a;x=1;y=0;}
    else
    {gcd(b,a%b,d,y,x);y-=x*(a/b);}
}

结论1:若方程ax+by=c的一组整数解为(x0,y0),则它的任意整数解可以写成(x0+kb',y0-k1'),其中a'=a/gcd(a,b),b'=

b/gcd(a,b),k取任意整数。

结论2:设a,c,b为任意整数,g=gcd(a,b),方程ax+by=g的一组解是(x0,y0),则当c是g的倍数时,一组解为(x0c/g,y0c/g);当c不是g的倍数时无整数解。

题目:UVA 12169 :点击打开链接

题解:点击打开链接

4.同余模算术:

公式:(a+b)%n=((a%n)+(b%n))%n

(a-b)%n=((a%n)-(b%n)+n)%n

ab%n=(a%n)(b%n)%n

大整数取模:

scanf("%s%d",n,&m);
int len=strlen(n);
int ans=0;
for(int i=0;i<len;i++)
    ans=(int)(((long long)ans*10+n[i]-'0')%m);
printf("%d\n",ans);

同余模方程:ax≡b(mod n)

a≡b(mod n)的含义是“a和b关于模n同余”,即a mod n =b mod n。不难得出,a≡b(mod n)的充要条件是:a-b是n的整数倍。

方程ax≡1(mod n)的解称为a关于模n的逆。当gcd(a,n)=1时,该方程有唯一解;否则,该方程无解。

若求最小正整数解,则x%(n/gcd(a,b))

例题:UVA 12169                  UVA 11582            

题解: 点击打开链接               点击打开链接       

例题:POJ 2115                 

题解:点击打开链接

5.Miller_Rabin测试大素数:

1 费马小定理: 假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p)

    费马小定理是p为质数的必要条件。

题目:UVA 10871

题解:点击打开链接

6.中国剩余定理(孙子定理):

设m1,…,mk是两两互质的正整数,那么对于a1,…,ak来说,一次同余方程组x≡ai(modmi),必有解

唯一解为 x=∑(1~k) Mi*ai*Mi^(-1)(mod m)

m=m1*m2*…mk,Mi=m/mi,Mi^(-1)为Mi对于模mi的逆.

求乘法逆元:MiMi^(-1)≡1(%mi),得到MiMi^(-1)+ymi=1然后扩欧,x就是Mi^(-1)模板:点击打开链接

例题:poj 1006

题解:点击打开链接

7.积性函数(f(ab)=f(a)f(b))

1️⃣ 欧拉函数φ(n),用于计算{1,2……n}与n互质的正整数个数

欧拉函数的定义:对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。例如euler(8)=4,因为1,3,5,7均和8互质。
Euler函数表达通式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数,x是不为0的整数。euler(1)=1(唯一和1互质的数就是1本身)。

φ(n)=n-1 n为素数;φ(n)<n-1 n为合数 ;若m、n互质,则φ(mn)=φ(m)φ(n)

φ(n)是积性函数,但不是完全积性函数

p为质数,k为素数,则φ(p^k)=φ(p^k)=p^k-p^(k-1)=(p-1)p^(k-1)

欧拉定理:若n和a互质,则a^(φ(n))≡1(mod n)

推论:对于互质的a,n,满足a^(φ(n)+1)≡a(mod n)

费马定理:若a、p互质,则a^(p-1)≡1(mod p) (判断素数)

欧拉函数性质 1:∑φ(d)=n ,d与n互质

2:当n>1时,1……n中与n互质的整数和为nφ(n)/2

模板:点击打开链接

例题:poj 2407 题解:点击打开链接

阶和原根:阶和原根

2️⃣莫比乌斯反演:入门

猜你喜欢

转载自blog.csdn.net/Dilly__dally/article/details/80646611