第一件事情我們要知道的是:積性函式都可以線性篩。(就是說複雜度是o(n)o
(n
)
積性函式的性質不說了,在說說常見的幾個積性函式。 μ(
n)μ (n
):莫比烏斯函式 ϕ(
n)ϕ (n
):尤拉函式 d(
n)d (n
):乙個數n的約數個數 σ(
n)σ (n
):乙個數n的約數和
int prime[100005];
int mu[maxx];
bool p[maxx];
int cnt=0;
void init()
for(int j=0;j*prime[j]<=maxx;j++)}}
}
尤拉函式:
int prime[100005];
int phi[maxx];
bool p[maxx];
int cnt=0;
void init()
for(int j=0;j*prime[j]*prime[j]]=true;
if(i%prime[j])
phi[i*prime[j]]=phi[i]*phi[prime[j]];
else}}
}
約數個數d(n)
int prime[100005];
int d[maxx];
int a[maxx];
bool p[maxx];
int cnt=0;
void init()
else}}
}
σ(n)σ
(n
)的用處似乎不多啊,等遇到了在寫。
其實只要理解了素數線性篩的本質,以上這些函式的篩法其他也挺簡單的,很好理解的。
抽點時間讓我們一起來學linux系統
抽點時間讓我們一起來學linux系統 相對於windows,linux有太多的優點,一般大家都知道,比如說開源,穩定等,其實最重要的是,當你真正用起來的時候發現,效率非常高,他是程式設計師的福音,linux版本眾多,各有各的優缺點,這正說明了起開放性,各大公司都在不停地更新自己的產品,使linux發...
我們一起來學Shell shell的函式
我們一起來學shell 初識shell 我們一起來學shell shell的變數 我們一起來學shell shell的條件判斷 我們一起來學shell shell的迴圈控制 我們一起來學shell shell的陣列 我們一起來學shell shell的函式 我們一起來學shell shell的併發及...
讓我們一起來開發FantasyPython吧
自從我把fantasypython雛形的雛形擺上之後,我一直都在努力學習著多執行緒開發,爭取早日發布fantasypython0.0.1。但是由於自己天資愚鈍,再加上工作比較繁忙,精力有限,研究多日仍然未有進展。sigh,書到用時方恨少啊!看著時間在我的碌碌無為中一天一天過去,我真的很著急,希望能夠...