1. 程式人生 > >淺談莫比烏斯反演

淺談莫比烏斯反演

這裡寫圖片描述

之前一直覺得這是一個這輩子都學不到的東西,好像太厲害了根本不適合我,看來我以前(雖然現在也還是)太菜了

對於一個算數函式

f(x) 如果我們對f(x)進行如下規定的求和 F(n)=d|nf(d)

其中d|n的含義為d可以整除n,例如對於n=12的情況

F(12)=f(1)+f(2)+f(3)+f(4)+f(6)+f(12)

我們要思考的是,這種關係是否可以反著來,比如說用F的值來求f的值?

那麼我們現在可以進行觀察:
F(1)=f(1)
F(2)=f(1)+f(2)
F(3)=f(1)+f(3)
F(4)=f(1)+f(2)+f(4)
F(5)=f(1

)+f(5)
F(6)=f(1)+f(2)+f(3)+f(6)
F(7)=f(1)+f(7)
F(8)=f(1)+f(2)+f(4)+f(8)

發現其實對於f(x),我們可以通過F的加減來進行求解,具體過程如下

f(1)=F(1)
f(2)=F(2)F(1)
f(3)=F(3)F(1)
f(4)=F(4)F(2)
f(5)=F(5)F(1)
f(6)=F(6)F(3)F(2)+F(1)
f(7)=F(7)F(1)
f(8)=F(8)F(4)

現在我們可以發現求解f(x)的如下的大致規律:

f(n)=±someofF(n/d)
其中d|n
也就是說,並不完全取完,比如說對於f(6)的計算 f
(6)=F(6)F(3)F(2)+F(1)

我們發現所有F(n/d)都進行了運算,而f(8)則並不是這樣

所以可能有如下的式子可以表示f(n)的計算

f(n)=d|nμ(d)F(n/d)

顯然其中的μ函式是一個算數函式,μ可以等於1,表示加上這項,可以等於-1,表示減去這項,也可以等於0,表示不處理這項,那麼如果我們要這樣表示f(x)的求解的話,可以直接計算出

μ value
1 1
2 -1
3 -1
4 0
5 -1
6 1
7 -1
8 0

對於一個素數p,我們可以得到

F(p)=f(1)+f(p)
=>f(p)=F(p)f(1)
=>f(p)=F(p)F(1)
因為對於素數,F(1)的那項是減號,所以μ(n/1)=μ(n)=-1
即:
μ(prime)=1

接下來我們可以推導

μ(p2)=0
其中
F(p2)=f(1)+f(p)+f(p2)
=>f(p2)=F(p2)f(1)f(

相關推薦

的常見套路

部落格園已掛,表示不想修了,直接來這裡看吧 整理一下,不然再過三天就又忘了。 莫比烏斯反演的套路 emmm,因為我做過的題太少了,所以可能非常不全。 以下的式子都是用\(\sum_{d \ | n} \mu(d) = [n = 1]\)推出來的,想看"正規"形式的可以參考這裡 如果不做特殊說明的話,

之前一直覺得這是一個這輩子都學不到的東西,好像太厲害了根本不適合我,看來我以前(雖然現在也還是)太菜了 對於一個算數函式f(x) 如果我們對f(x)進行如下規定的求和 F(n)=∑d|nf(d) 其中d|n的含義為d可以整除n,例如對於n=12的情

算法——

unsigned 命運 stream getchar() 說明 min pan des ram 前言 莫比烏斯反演(又稱懵逼鎢絲繁衍),那種讓人看了就懵逼的東西(其實是我太菜了) 莫比烏斯反演在知道之後對解題十分有幫助,\(O(n)\)的柿子分分鐘化成\(O(\sqrt n

[SPOJ VLATTICE]Visible Lattice Points 數論

string rst ase 計算 mod visible font sample poj 7001. Visible Lattice Points Problem code: VLATTICE Consider a N*N*N lattice.

【bzoj4176】Lucas的數論 +杜教篩

wid eight 前綴 .html != brush name load ans 題目描述 去年的Lucas非常喜歡數論題,但是一年以後的Lucas卻不那麽喜歡了。 在整理以前的試題時,發現了這樣一道題目“求Sigma(f(i)),其中1<=i<

【BZOJ2045】雙親數

namespace 一個 ron == true pac 公約數 ostream 都是 【BZOJ2045】雙親數 Description 小D是一名數學愛好者,他對數字的著迷到了瘋狂的程度。 我們以d = gcd(a, b)表示a、b的最大公約數,小D執著的認為,這樣

【bzoj2154】Crash的數字表格

name ros -1 led idt 莫比烏斯 style efi con 題目描述 今天的數學課上,Crash小朋友學習了最小公倍數(Least Common Multiple)。對於兩個正整數a和b,LCM(a, b)表示能同時被a和b整除的最小正整數。例如,LCM

Dirichlet卷積和

如果 bsp 滿足 常見 定義 row chl 莫比烏斯反演 nbsp 半夜不睡寫博客 1.Dirichlet卷積     定義2個數論函數f,g的Dirichlet卷積$(f*g)n=\sum_{d|n}f(d)g(\frac{n}{d})$     Dirichle

isp init 我們 線性 spa 線性篩 之前 element int 莫比烏斯反演在許多情況下可以簡化運算。 定理:F(n)和f(n)是定義在非負整數集合上的兩個函數,並且滿足條件F(n)=∑d|n f(d)。 附:∑d|n 的意思是對所有n的因子d求和。 那麽,我

bzoj 2301 Problem b -

flag class memory sample sin swa scrip return lag Description 對於給出的n個詢問,每次求有多少個數對(x,y),滿足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y

[SPOJ 5971] LCMSum

strong logs git 復雜 進行 str == 給定 register 題意   $t$ 組詢問, 每組詢問給定 $n$ , 求 $\sum_{k = 1} ^ n [n, k]$ .   $t \le 300000, n \le 1000000$ . 一些常

hdu1695()

ios targe .net ++ 其中 參考 http bool rim 題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=1695 題意: 對於 a, b, c, d, k . 有 x 屬於 [a, b], y 屬於

BZOJ 2301: [HAOI2011]Problem b(

計算 algo cto ref blog image get txt += http://www.lydsy.com/JudgeOnline/problem.php?id=2301 題意:對於給出的n個詢問,每次求有多少個數對(x,y),滿足a≤x≤b,c&l

SPOJ - PGCD Primes in GCD Table(

cnblogs -s def problems 前綴和 ret mage () eof http://www.spoj.com/problems/PGCD/en/ 題意: 給出a,b區間,求該區間內滿足gcd(x,y)=質數的個數。 思路: 設f(n)為 gc

BZOJ 2301 入門

思想 phi 問題 ace tail main pro html 簡單的 2301: [HAOI2011]Problem b Description 對於給出的n個詢問,每次求有多少個數對(x,y),滿足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,

數論18——定理(

技術分享 滿足 urn spa isp name 角速度 我們 組成 莫比烏斯反演也是反演定理的一種 既然我們已經學了二項式反演定理 那莫比烏斯反演定理與二項式反演定理一樣,不求甚解,只求會用 莫比烏斯反演長下面這個樣子(=?ω?=) d|n,表示

【bzoj3309】DZY Loves Math +線性篩

例如 一行 根據 優化 long long ast 以及 -1 變化 題目描述 對於正整數x,定義f(x)為x所含質因子的最大冪指數。例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0。給定正整數n,m,求$\sum\li

【bzoj 4176】 Lucas的數論 (杜教篩)

amp short last ++ esc output sig blog tro Description 去年的Lucas非常喜歡數論題,但是一年以後的Lucas卻不那麽喜歡了。 在整理以前的試題時,發現了這樣一道題目“求Sigma(f(i)),其中1&l

【Troywar love Maths】——

pen 輸出格式 targe div -h prim 沒有 .cn color           2816. Troywar loves Maths                 ★★☆ 輸入文件:Troy_1.in 輸出文件:Troy_1.out 簡單對

】——蒟蒻的理解

col oid eps div 約數個數 符號 並且 sil 線性篩   序:最近被反演虐的不要不要的,遂決定寫一篇博文,防止以後自己翻車…… 1.定義   莫比烏斯函數:$\mu(n)$ $\begin{cases} & \tex