五邊形數 筆記

[博客觀賞效果更佳]
github
cnblogs
近日,一國外小哥學習了這個定理,竟然能預處理出整數劃分的方案數!快跟小編來看看吧

這個小哥學習的定理,就是小編(我)接下來要講的五邊形數定理

好的,讓我們一起來看看這個定理吧

五邊形數是啥

百度百科

用圖來講,就是若干個點,排成若干個五邊形,需要多少個點。

百度百科上有一個很清楚的圖:

它的通項公式爲 an=n(3n1)2a_n=\dfrac{n(3n-1)}{2},前面幾項是 0,1,5,12,22,35,51,70,92,117,145,176,210...0, 1, 5, 12, 22, 35, 51, 70, 92, 117, 145, 176, 210...。你可以在 OEIS 上找到它,是序列 A000326

我們要研究的是 廣義五邊形數,是這樣一個數列:p=a0,a1,a1,a2,a2...p=a_0,a_{1},a_{-1},a_{2},a_{-2}...

其中,如果 pp 的下標是負數,照樣代入到上面的通項公式裏算即可。容易證明,當 n<0n<0 時,pnp_n 也是正的。前面幾項是 0,1,2,5,7,12,15,22,26,35,40,51,57,70,77,92,100,117...0, 1, 2, 5, 7, 12, 15, 22, 26, 35, 40, 51, 57, 70, 77, 92, 100, 117...,同樣可以在 OEIS 上找到它是 A001318

它能幹啥

歐拉函數(五邊形數)

(爲了和歐拉數論函數區別開來,這裏給它起名叫歐拉函數-五邊形數(*/ω\*)

是這樣一個函數:φ(x)=(1x)(1x2)(1x3)(1x4)...(1x)=i=1(1xi)\varphi(x)=(1-x)(1-x^2)(1-x^3)(1-x^4)...(1-x^\infin)=\prod\limits_{i=1}^{\infin} (1-x^i)

這東西有一個很神奇的性質。如果你閒的沒事,可以暴力拆開它,發現它等於

x0x1x2+x5+x7x12x15+x22+x26...=i=1(1)(i+1)/2xpix^0-x^1-x^2+x^5+x^7-x^{12}-x^{15}+x^{22}+x^{26}...=\sum\limits_{i=1}^{\infin} (-1)^{(i+1)/2} x^{p_i}

係數:一個正,兩個負,兩個正,兩個負,兩個正,兩個負…

指數:廣義五邊形數

與整數劃分問題的聯繫

然後我們可以來解決整數劃分問題。設 P(n)P(n) 表示將 nn 分成若干個整數的無序方案(即,a+ba+bb+ab+a 只算一次),同一個數可以用很多次。

比如,P(4)=5P(4)=5,因爲 44

=1+1+1+1=1+1+1+1

=1+1+2=1+1+2

=1+3=1+3

=2+2=2+2

=4=4

特殊地,P(0)=1P(0)=1

我們求出 P(n)P(n) 的生成函數 f(x)=n=0P(n)xnf(x)=\sum\limits_{n=0}^{\infin} P(n)x^n

給它換個定義:我們要選出若干個(可以是 00 個) 11,若干個 22,若干個 33…使得選出來的所有數和爲 nn

這樣就好考慮了。看這個式子:

(1+x+x2+x3...)(1+x2+(x2)2+(x2)3...)(1+x3+(x3)2+(x3)3...)...(1+x+x^2+x^3...)(1+x^2+(x^2)^2+(x^2)^3...)(1+x^3+(x^3)^2+(x^3)^3...)...

第一個因式表示我們能隨便選擇用多少個 x1x^1

第二個因式表示我們能隨便選擇用多少個 x2x^2

乘起來之後,考慮 xnx^n 的係數,你會發現它就是 P(n)P(n)!是不是特別巧妙φ(>ω<*)

於是 f(x)=(1+x+x2+x3...)(1+x2+(x2)2+(x2)3...)(1+x3+(x3)2+(x3)3...)...=n=1i=0(xn)if(x)=(1+x+x^2+x^3...)(1+x^2+(x^2)^2+(x^2)^3...)(1+x^3+(x^3)^2+(x^3)^3...)...=\prod\limits_{n=1}^{\infin} \sum\limits_{i=0}^{\infin} (x^n)^i

然後我們用等比數列求和公式化一下,得到:

f(x)=n=111xnf(x)=\prod\limits_{n=1}^{\infin} \dfrac{1}{1-x^n}

我們發現它就是歐拉函數-五邊形數的倒數(/≧▽≦/)!

φ(x)f(x)=1\varphi(x)f(x)=1

也就是

(1xx2+x5+x7x12x15...)(n=0P(n)xn)=1(1-x-x^2+x^5+x^7-x^{12}-x^{15}...)(\sum\limits_{n=0}^{\infin} P(n)x^n)=1

觀察其中 xnx^n 項的係數(分別考慮左邊和右邊的括號出的是幾次項),容易發現這個係數應該是 P(n)P(n1)P(n2)+P(n5)+P(n7)...P(n)-P(n-1)-P(n-2)+P(n-5)+P(n-7)...

n=0n=0 時,這個式子顯然爲 11。那麼 n>0n>0 時, xnx^n 乘以它的係數的和就得是 00 了。

然後我們發現等式右邊是 11。並且原式爲恆等式,所以 xx 取任何值都成立。爲了讓 xx 取任何值時等式都成立,對於 n>0n>0 時,P(n)P(n1)P(n2)P(n)-P(n-1)-P(n-2) 這個可憐的等式只好取 00 了。

然後就得到了:

P(n)P(n1)P(n2)+P(n5)+P(n7)P(n12)P(n15)...=0P(n)-P(n-1)-P(n-2)+P(n-5)+P(n-7)-P(n-12)-P(n-15)...=0

於是 P(n)=P(n1)+P(n2)P(n5)P(n7)+P(n12)+P(n15)...P(n)=P(n-1)+P(n-2)-P(n-5)-P(n-7)+P(n-12)+P(n-15)...

然後 n\le n 的五邊形數是 n\sqrt{n} 級別的(注意到五邊形數的通項公式是二次的)

於是我們可以遞推出 P(n)P(n),是 O(nn)O(n\sqrt{n}) 的,是不是很厲害呢(✪ω✪)

好了,以上就是這個定理的全部內容了,喜歡記得收藏起來喲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章