1. 程式人生 > >國慶七天樂——第二天

國慶七天樂——第二天

歐拉 小學生 n-1 表示 long 進制 只有一個 我們 等於

【數論】(所有的等於都是恒等)

  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寫數據,輸出的數據都是自帶最快高精的。

具體的語句還需要具體的學習

【矩陣】

國慶七天樂——第二天