日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【算法专题】积性函数

發(fā)布時(shí)間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【算法专题】积性函数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【參考】

★淺談一類積性函數(shù)的前綴和 by?skywalkert

任之洲數(shù)論函數(shù).pdf

論逗逼的自我修養(yǎng)之寒假頹廢記?by?jiry_2

杜教篩 [學(xué)習(xí)筆記]【更新中】?by?Candy?

?

【變化技巧總結(jié)】

總結(jié)下面所有知識(shí)含有的變化技巧

1.先枚舉gcd值。

2.莫比烏斯反演處理gcd,[gcd(x,y)=1]=Σd|i^d|jμ(d),然后將d提到最前面。

3.★分塊取值優(yōu)化,ans=Σf(d)*g(n/d),其中g(shù)(n/d)只有2√n種取值,預(yù)處理f(d)的前綴和即可O(√n)。

4.多組詢問時(shí),對(duì)于ΣdΣe,令T=de,則ΣTΣd|T,后面枚舉倍數(shù)貢獻(xiàn)可以O(shè)(n ln n)預(yù)處理前綴和。

5.杜教篩:倍數(shù)和總數(shù)互換,即

$sum_{i=1}^{n}(f*g)(i)=\sum_{i=1}^{n}\sum_{d|i}f(d)g(\frac{i}ozvdkddzhkzd)=\sum_{i=1}^{n}\sum_{d=1}^{\frac{n}{i}}f(d)g(i)=\sum_{i=1}^{n}g(i)F(\frac{n}{i})$

用這個(gè)變化,對(duì)于卷積f*g=h,知二求一。

6.函數(shù)為加法時(shí),可以分別統(tǒng)計(jì)前綴和再相加,但乘法必須一起統(tǒng)計(jì)。

?

例題:【51nod】1238 最小公倍數(shù)之和 V3 杜教篩

1.相同的完全積性函數(shù)卷積有奇效(在這題是同階冪函數(shù)卷積)。

2.矩陣轉(zhuǎn)上三角,就可以變成積性函數(shù)前綴和的形式。

3.狄利克雷卷積有交換律,結(jié)合律,加法分配律。點(diǎn)乘有卷積分配律,即a(b*c)=ab*ac。

4.φ也可以化簡(jiǎn)[(n,i)=1],不一定用μ。

?

例題:【Project Euler】530 GCD of Divisors 莫比烏斯反演

1.對(duì)于[(a,b)=d],可以將共有因子d提出來(lái)并壓縮枚舉空間。

2.約數(shù)個(gè)數(shù)前綴和可以O(shè)(√n),看到可以轉(zhuǎn)化過(guò)去。

3.兩個(gè)Σ1~n,可以合并為枚舉乘積,然后變成卷積的形式。

4.復(fù)雜度不一定是看到的那樣,要好好分析或好好感受。

?

【積性函數(shù)】

積性函數(shù)的約數(shù)和,前綴和,相互卷積也是積性函數(shù)。

1.f(1)=1。

2.性質(zhì)一:對(duì)于n=∏pi^ki,有f(n)=∏f(pi^ki)

性質(zhì)二:對(duì)于完全積性函數(shù),還有f(n)=∏f(pi)^ki以及f(n^k)=f(n)^k

常見的積性函數(shù):

1.d(n)=Σd|n?1,表示n的因子個(gè)數(shù),即d=1*1

2.σ(n)=Σd|n d,表示n的因子和,即σ=1*id

3.1(n)=1,恒等函數(shù)

4.id(n)=n,單位函數(shù)

5.e(n)=[n=1],元函數(shù),即f=f*e

6.φ(n)=Σ[(n,i)=1]*1,歐拉函數(shù)

φ*1=id

7.μ(n),莫比烏斯函數(shù),μ(n)=(-1)^k,k為n的素因子個(gè)數(shù),有重復(fù)素因子時(shí)μ=0

μ*1=e

?

【狄利克雷卷積】

定義兩個(gè)數(shù)論函數(shù)f,g的狄利克雷卷積:(f*g)(n)=Σd|nf(d)*g(n/d)。

1.莫比烏斯函數(shù),e(n)=Σd|nμ(d),即e=μ*i。

莫比烏斯反演,由g=f*i,得f=g*μ。(可以看出μ和1互為逆元)

證明:f=g*μ=f*i*μ=f*e=f。

即由g(n)=Σd|nf(d),得f(n)=Σd|ng(d)*μ(n/d)。

類似的,由g(n)=Σn|df(d),得f(n)=Σn|dg(d)*μ(d/n)。

$$\sum_{d|n}\mu(d)=[n=1]\ \ (\mu \times 1=e)$$

2.歐拉函數(shù),n=Σd|nφ(d),即id=φ*i。

$$\sum_{d|n}\varphi(d)=n\ \ (\varphi \times 1=id)$$

證明:考慮n的所有數(shù)字x∈[1,n],有(n,x)=d即(n/d,x/d)=1,所以滿足(n,x)=d的所有的x的個(gè)數(shù)為φ(n/d),那么所有n的因子的φ就是答案。

由反演得,φ=id*μ,即φ(n)/n=Σd|nμ(d)/d。

$$\varphi(n)=\sum_{d|n}\frac{n}ozvdkddzhkzd*\mu(d)\ \ (\mu \times id=\varphi)$$

公式:1~n中與n互質(zhì)的整數(shù)和是為( n*φ(n)+[n=1] )/2,證明:gcd(n,i)=gcd(n,n-i),所以互素?cái)?shù)總是成對(duì)出現(xiàn)。(但約數(shù)和不是n*(n+1)/2-n*φ(n)/2+1……)。

★莫比烏斯反演

?

【和式Σ變換技巧】

基本法則(具體數(shù)學(xué)):

1.分配律,Σkc*ak=c*Σkak,即提出與Σ無(wú)關(guān)的乘數(shù)。

2.結(jié)合律,將相鄰Σ的條件結(jié)合或分離。

3.交換律,即Σ的枚舉可以改變順序。

4.一般分配律,Σj,kaj*bk=(Σaj)*(Σbk)

5.多重交換律,當(dāng)相鄰Σ枚舉域相關(guān)時(shí),需滿足:

[j∈J][k∈K(j)]=[k∈K'][j∈J'(k)]

通常J=K'是所有整數(shù)集合,第二重根據(jù)操控二重和式性質(zhì)的p(j,k)推出。

6.換元,即更換Σ的枚舉元。

7.艾弗森約定,即將Σ底端限制變成條件,如Σi∈Ii = Σi*[i∈I]。

【杜教篩】

參考:淺談一類積性函數(shù)的前綴和?by?skywalkert

給定數(shù)論函數(shù)$f(n)$,求$s(n)=\sum_{i=1}^{n}f(i)$。

考慮找到一個(gè)合適的數(shù)論函數(shù)$g(n)$。

杜教篩基本變化(總值與倍數(shù)互換)

$$\sum_{i=1}^{n}(f*g)(i)=\sum_{i=1}^{n}\sum_{d|i}f(d)g(\frac{i}ozvdkddzhkzd)=\sum_{i=1}^{n}g(i)s(\frac{n}{i})$$

最終

$$g(1)s(n)=\sum_{i=1}^{n}(f*g)(i)-\sum_{i=2}^{n}g(i)s(\frac{n}{i})$$

本質(zhì)上是構(gòu)造卷積h=f*g,若h和g的前綴和可以O(shè)(1)或O(√n)快速求解,則可以用上式快速求解f的前綴和。

最后將f的前n^(2/3)項(xiàng)預(yù)處理,總復(fù)雜度O(n^(2/3))。

求N和N/i時(shí),s(i)記憶化到f[N/i]中,f[]數(shù)組大小只需要√N(yùn)。(N變化時(shí)要清空數(shù)組)

例題:【51nod】1239 歐拉函數(shù)之和?求Σφ(i)

?

復(fù)雜度證明:

根據(jù)(x/a)/b=x/(ab),杜教篩只用到2√n個(gè)值,所以杜教篩的復(fù)雜度是:

$$\sum_{i=1}^{\sqrt n}O(\sqrt i)+\sum_{i=1}^{\sqrt n}O(\sqrt{\frac{n}{i}})$$

計(jì)算復(fù)雜度需要用到積分:

$$\int_{0}^{a}x^n=\frac{1}{n+1}a^{n+1}$$

所以,前半部分的復(fù)雜度:

$$\sum_{i=1}^{\sqrt n}O(\sqrt i)=\int_{0}^{\sqrt n}x^\frac{1}{2}\approx \sqrt n^{\frac{1}{2}+1}=O(n^{\frac{3}{4}})$$

后半部分的復(fù)雜度:(把√n提出來(lái),最后是n^(3/4))

$$\sum_{i=1}^{\sqrt n}O(\frac{1}{\sqrt i})=\int_{0}^{\sqrt n}x^{-\frac{1}{2}}\approx \sqrt n^{-\frac{1}{2}+1}=O(n^{\frac{1}{4}})$$

最終,復(fù)雜度$O(n^{\frac{3}{4}})$,預(yù)處理前2/3項(xiàng)后復(fù)雜度為$O(n^{\frac{2}{3}})$。(這暫時(shí)不太清楚)

?

轉(zhuǎn)載于:https://www.cnblogs.com/onioncyc/p/8461267.html

總結(jié)

以上是生活随笔為你收集整理的【算法专题】积性函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。