定理:f(n)和f(n)是定義在非負整數集合上的兩個函式,並且滿足條件f(
n)=∑
d|nf
(d) ,那麼我們得到結論f(
n)=∑
d|nμ
(d)f
(n/d
) 。
在上面的公式中有乙個函式μ(
d),它的定義如下:
(1)若d=1,那麼μ(
d)=1
. (2)若d=p1
p2⋯p
k ,均為互異素數,那麼μ(
d)=(
−1)k
. (3)其它情況下μ(
d)=0
. 對於函式μ(
d),它有如下的常見性質:
對任意正整數n有其實它還有另一種描述,本題也是用到這種。那就是:對任意正整數n有
//求1-n的函式值
bool vis[max+10];
int mu[max+10],prime[max+10],cnt;
void mobi(int n)
for(int j=0;j1;
if(i%prime[j]) mu[i*prime[j]]=-mu[i];
else}}
}//另一版本
int prime[maxn];
bool check[maxn];
void mobius()
for(j,1,prime[0]+1)}}
//求某個數對應的函式值。
int mobi(int n)
n/=i;
}while(n%i==0);
}if(n>1) m
*=-1;
return
m;}
triple
count_prime
51nod1240
莫比烏斯反演 二 莫比烏斯反演定理
首先設兩個任意函式f x 和f x 定義運算 f x sum f d 這時就可以用f x 表示f x f 1 f 1 f 2 f 1 f 2 f 3 f 3 f 1 f 4 f 4 f 2 f 1 f 5 f 5 f 1 f 6 f 6 f 3 f 2 f 1 這時可以試著用f x 表示f x f ...
莫比烏斯反演
首先 莫比烏斯函式有個性質 d n d 1 n 1 0 n 1 證明 n 1時,不做多餘說明。n 1 根據唯一分解定理,可以分解n ki 1pai i 對於那些含平方因子也就是存在ai 不為1的數,它的函式值為0,對答案沒有任何貢獻。所以我們來看看那些是互異素數乘積的數,每乙個成為它約數的數是什麼樣...
莫比烏斯反演
最近學了一下莫比烏斯反演 實際只學了2天,旁邊hyh還一直吵吵吵 所以還是來寫寫現在能寫出來的東西吧.莫比烏斯反演,指的是對於乙個數論函式f n 有 f n d nf d 這裡f d 是另乙個數論函式,那麼就會有 f n d n d f nd 然後就能夠通過把難求的東西轉化成另外好求一點的東西以求和...