《浅谈一类积性函数的前缀和》例题(未完待续)

本文深入探讨了积性函数及其前缀和在解决数论问题中的应用,通过51Nod等平台的题目实例,解析了如何利用积性函数的性质简化计算,涉及最小公倍数、最大公约数、平均最小公倍数等多个概念,展示了数论在算法竞赛中的魅力。
摘要由CSDN通过智能技术生成

51Nod 1238 - 最小公倍数之和 V3
∑ i = 1 n ∑ j = 1 n l c m ( i , j ) \displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}lcm(i, j) i=1nj=1nlcm(i,j)
原式 = ∑ i = 1 n ∑ j = 1 n i × j ( i , j ) = ∑ d = 1 n d × ∑ i = 1 ⌊ n d ⌋ ∑ j = 1 ⌊ n d ⌋ i × j × [ ( i , j ) = 1 ] =\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}\frac{i\times j}{(i, j)}=\displaystyle\sum_{d=1}^{n}d\times \displaystyle\sum_{i=1}^{\left \lfloor \frac{n}{d} \right \rfloor} \displaystyle\sum_{j=1}^{\left \lfloor \frac{n}{d} \right \rfloor} i\times j \times [(i, j)=1] =i=1nj=1n(i,j)i×j=d=1nd×i=1dnj=1dni×j×[(i,j)=1]
∑ i = 1 n i × [ ( i , n ) = 1 ] = n × ϕ ( n ) 2 \displaystyle\sum_{i=1}^{n}i\times [(i, n)=1]=\frac{n\times\phi(n)}{2} i=1ni×[(i,n)=1]=2n×ϕ(n),原式 = ∑ d = 1 n d × ∑ i = 1 ⌊ n d ⌋ i 2 × ϕ ( i ) =\displaystyle\sum_{d=1}^{n}d\times \displaystyle\sum_{i=1}^{\left \lfloor \frac{n}{d} \right \rfloor}i^2\times \phi(i) =d=1nd×i=1dni2×ϕ(i)
f ( n ) = n 2 × ϕ ( n ) f(n)=n^2\times \phi(n) f(n)=n2×ϕ(n),我们要求 F ( x ) = ∑ i = 1 n f ( i ) F(x)=\displaystyle\sum_{i=1}^{n}f(i) F(x)=i=1nf(i)
∑ d ∣ n ϕ ( d ) = n \displaystyle\sum_{d|n}\phi(d)=n dnϕ(d)=n,可得 ∑ i = 1 n i 2 × ∑ d ∣ i ϕ ( d ) = ∑ i = 1 n i 3 = n 2 × ( n + 1 ) 2 4 \displaystyle\sum_{i=1}^{n}i^2 \times \displaystyle\sum_{d|i}\phi(d)=\displaystyle\sum_{i=1}^{n}i^3=\frac{n^2\times (n+1)^2}{4} i=1ni2×diϕ(d)=i=1ni3=4n2×(n+1)2
上式左边可变形为 ∑ i = 1 n ∑ d ∣ i i 2 × ϕ ( d ) = ∑ i = 1 n ∑ d ∣ i d 2 × ϕ ( d ) × ( i d ) 2 = ∑ i = 1 n ∑ d ∣ i f ( d ) × ( i d ) 2 = ∑ i d = 1 n ∑ d = 1 ⌊ n i d ⌋ f ( d ) × ( i d ) 2 = ∑ i = 1 n ∑ d = 1 ⌊ n i ⌋ f ( d ) × i 2 = ∑ i = 1 n i 2 × F ( ⌊ n i ⌋ ) \displaystyle\sum_{i=1}^{n}\displaystyle\sum_{d|i}i^2\times \phi(d)=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{d|i}d^2\times \phi(d)\times(\frac{i}{d})^2=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{d|i}f(d)\times(\frac{i}{d})^2=\displaystyle\sum_{\frac{i}{d}=1}^{n}\displaystyle\sum_{d=1}^{\left \lfloor \frac{n}{\frac{i}{d}} \right \rfloor}f(d)\times (\frac{i}{d})^2=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{d=1}^{\left \lfloor \frac{n}{i} \right \rfloor}f(d)\times i^2=\displaystyle\sum_{i=1}^{n}i^2\times F(\left \lfloor \frac{n}{i} \right \rfloor) i=1ndii2×ϕ(d)=i=1ndid2×ϕ(d)×(di)2=i=1ndif(d)×(di)2=di=1nd=1dinf(d)×(di)2=i=1nd=1inf(d)×i2=i=1ni2×F(in)
F ( n ) = n 2 × ( n + 1 ) 2 4 − ∑ i = 2 n i 2 × F ( ⌊ n i ⌋ ) F(n)=\frac{n^2\times (n+1)^2}{4}-\displaystyle\sum_{i=2}^{n}i^2\times F(\left \lfloor \frac{n}{i} \right \rfloor) F(n)=4n2×(n+1)2i=2ni2×F(in)
51Nod 1237 - 最大公约数之和 V3
过程同上,推导出需求 Φ ( n ) = ∑ i = 1 n ϕ ( i ) \Phi(n)=\displaystyle\sum_{i=1}^{n}\phi(i) Φ(n)=i=1nϕ(i)
51Nod 1227 - 平均最小公倍数
A ( n ) = 1 n ∑ i = 1 n L C M ( n , i ) A(n)=\frac{1}{n}\displaystyle\sum_{i=1}^{n}LCM(n, i) A(n)=n1i=1nLCM(n,i),求 F ( a , b ) = A ( a ) + A ( a + 1 ) + ⋯ + A ( b ) F(a, b)=A(a)+A(a+1)+\dots+A(b) F(a,b)=A(a)+A(a+1)++A(b)
首先 A ( n ) = 1 n ∑ i = 1 n n × i ( n , i ) = ∑ g ∣ n ∑ i = 1 n g i × [ ( i , n g ) = 1 ] = ∑ g ∣ n n g × ϕ ( n g ) 2 = ∑ g ∣ n g × ϕ ( g ) 2 A(n)=\frac{1}{n} \displaystyle\sum_{i=1}^{n}\frac{n\times i}{(n, i)}=\displaystyle\sum_{g|n}\displaystyle\sum_{i=1}^{\frac{n}{g}}i\times[(i,\frac{n}{g})=1]=\displaystyle\sum_{g|n}\frac{\frac{n}{g}\times\phi(\frac{n}{g})}{2}=\displaystyle\sum_{g|n}\frac{g\times\phi(g)}{2} A(n)=n1i=1n(n,i)n×i=gni=1gni×[(i,gn)=1]=gn2gn×ϕ(gn)=gn2g×ϕ(g)
所求即为 F ( n ) = ∑ i = 1 n ∑ g ∣ i g × ϕ ( g ) 2 = 1 2 ∑ d = 1 n ∑ i = 1 ⌊ n d ⌋ i × ϕ ( i ) F(n)=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{g|i}\frac{g\times\phi(g)}{2}=\frac{1}{2}\displaystyle\sum_{d=1}^{n}\displaystyle\sum_{i=1}^{\lfloor \frac{n}{d} \rfloor}i\times\phi(i) F(n)=i=1ngi2g×ϕ(g)=21d=1ni=1dni×ϕ(i)
那么只需求 H ( n ) = ∑ i = 1 n i × ϕ ( i ) H(n)=\displaystyle\sum_{i=1}^{n}i\times\phi(i) H(n)=i=1ni×ϕ(i)
求法见下。
Tsinsen A1231 - Crash的数字表格
需求 ∑ i = 1 n ∑ i = 1 m L C M ( i , j ) \displaystyle\sum_{i=1}^{n}\displaystyle\sum_{i=1}^{m}LCM(i, j) i=1ni=1mLCM(i,j)
不妨令 n ≤ m n \le m nm
原式 = ∑ i = 1 n ∑ i = 1 m i × j ( i , j ) = ∑ g = 1 n g × ∑ i = 1 ⌊ n g ⌋ ∑ i = 1 ⌊ m g ⌋ i × j × [ ( i , j ) = 1 ] =\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{i=1}^{m}\frac{i\times j}{(i, j)}=\displaystyle\sum_{g=1}^{n}g\times\displaystyle\sum_{i=1}^{\lfloor \frac{n}{g} \rfloor}\displaystyle\sum_{i=1}^{\lfloor \frac{m}{g} \rfloor}i\times j\times[(i,j)=1] =i=1ni=1m(i,j)i×j=g=1ng×i=1gni=1gmi×j×[(i,j)=1]
F ( m , n ) = ∑ i = 1 m ∑ i = 1 n i × j × [ ( i , j ) = 1 ] F(m,n)=\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{i=1}^{n}i\times j\times [(i,j)=1] F(m,n)=i=1mi=1ni×j×[(i,j)=1] G ( m , n ) = ∑ i = 1 m ∑ i = 1 n i × j = m ( m + 1 ) 2 × n ( n + 1 ) 2 G(m,n)=\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{i=1}^{n}i\times j=\frac{m(m+1)}{2}\times \frac{n(n+1)}{2} G(m,n)=i=1mi=1ni×j=2m(m+1)×2n(n+1)
由容斥原理可得 F ( m , n ) = ∑ d = 1 n d 2 μ ( d ) G ( ⌊ m d ⌋ , ⌊ n d ⌋ ) F(m,n)=\displaystyle\sum_{d=1}^{n}d^2\mu(d)G(\lfloor \frac{m}{d} \rfloor,\lfloor \frac{n}{d} \rfloor) F(m,n)=d=1nd2μ(d)G(dm,dn)
SPOJ DIVCNT2 - Counting Divisors (square)
∑ i = 1 n σ 0 ( i 2 ) , 1 ≤ n ≤ 1 0 12 \displaystyle\sum_{i=1}^{n}\sigma_0(i^2),1\le n\le10^{12} i=1nσ0(i2),1n1012
考虑 n n n 的约数和 n 2 n^2 n2 的约数在指数上的联系,可以得出 σ 0 ( n 2 ) = ∑ d ∣ n 2 w i d t h ( d ) \sigma_0(n^2)=\displaystyle\sum_{d|n}2^{width(d)} σ0(n2)=dn2width(d),其中 w i d t h ( d ) width(d) width(d) d d d 的不同质因子数,可以构造出 w i d t h ( d ) = ∑ p ∣ d μ 2 ( p ) width(d)=\displaystyle\sum_{p|d}\mu^2(p) width(d)=pdμ2(p)
所以 σ 0 ( n 2 ) = ∑ d ∣ n ∑ p ∣ d μ 2 ( p ) = ( μ 2 ∗ 1 ) ∗ 1 ) = μ 2 ∗ ( 1 ∗ 1 ) = μ 2 ∗ σ 0 \sigma_0(n^2)=\displaystyle\sum_{d|n}\displaystyle\sum_{p|d}\mu^2(p)=(\mu^2*1)*1)=\mu^2*(1*1)=\mu^2*\sigma_0 σ0(n2)=dnpdμ2(p)=(μ21)1)=μ2(11)=μ2σ0
所求 ∑ i = 1 n ∑ d ∣ i μ 2 ( d ) σ 0 ( i d ) = ∑ d = 1 n μ 2 ( d ) ∑ i = 1 ⌊ n d ⌋ σ 0 ( i ) \displaystyle\sum_{i=1}^{n}\displaystyle\sum_{d|i}\mu^2(d)\sigma_0(\frac{i}{d})=\displaystyle\sum_{d=1}^{n}\mu^2(d)\displaystyle\sum_{i=1}^{\lfloor \frac{n}{d} \rfloor}\sigma_0(i) i=1ndiμ2(d)σ0(di)=d=1nμ2(d)i=1dnσ0(i)
σ 0 ( n ) \sigma_0(n) σ0(n) 可在 O ( n ) O(\sqrt{n}) O(n ) 的复杂度求出来,对 μ 2 ( n ) \mu^2(n) μ2(n) 考虑容斥后算出 μ 2 ( n ) = ∑ i = 1 ⌊ n ⌋ μ ( i ) × ⌊ n i 2 ⌋ \mu^2(n)=\displaystyle\sum_{i=1}^{\lfloor \sqrt{n} \rfloor}\mu(i)\times\lfloor \frac{n}{i^2} \rfloor μ2(n)=i=1n μ(i)×i2n
51Nod 1222 - 最小公倍数计数
f ( n ) = ∑ i = 1 n ∑ j = 1 n [ L C M ( i , j ) = n ] f(n)=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}[LCM(i,j)=n] f(n)=i=1nj=1n[LCM(i,j)=n],求 ∑ i = a b f ( i ) \displaystyle\sum_{i=a}^{b}f(i) i=abf(i)
BZOJ 4176 - Lucas的数论
∑ i = 1 n ∑ j = 1 n σ 0 ( i j ) \displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}\sigma_0(i j) i=1nj=1nσ0(ij)
引理: σ 0 ( m n ) = ∑ i ∣ n ∑ j ∣ m [ ( i , j ) = 1 ] \sigma_0(mn)=\displaystyle\sum_{i|n}\displaystyle\sum_{j|m}[(i,j)=1] σ0(mn)=injm[(i,j)=1]
证明:考虑提取质因子 p p p 进行归纳,具体过程略。
直接带入引理,所求 ∑ i = 1 n ∑ j = 1 n σ 0 ( i × j ) = ∑ i = 1 n ∑ j = 1 n ∑ t ∣ i ∑ s ∣ j [ ( s , t ) = 1 ] = ∑ i = 1 n ∑ j = 1 n ∑ t ∣ i ∑ s ∣ j ∑ d ∣ ( s , t ) μ ( d ) = ∑ i = 1 n ∑ j = 1 n ∑ d ∣ i , d ∣ j μ ( d ) σ 0 ( i d ) σ 0 ( j d ) = ∑ d = 1 n μ ( d ) ( ∑ i = 1 ⌊ n d ⌋ σ 0 ( i ) ) 2 \displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}\sigma_0(i\times j)=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}\displaystyle\sum_{t|i}\displaystyle\sum_{s|j}[(s,t)=1]=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}\displaystyle\sum_{t|i}\displaystyle\sum_{s|j}\displaystyle\sum_{d|(s,t)}\mu(d)=\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}\displaystyle\sum_{d|i,d|j}\mu(d)\sigma_0(\frac{i}{d})\sigma_0(\frac{j}{d})=\displaystyle\sum_{d=1}^{n}\mu(d)(\displaystyle\sum_{i=1}^{\lfloor \frac{n}{d} \rfloor}\sigma_0(i))^2 i=1nj=1nσ0(i×j)=i=1nj=1ntisj[(s,t)=1]=i=1nj=1ntisjd(s,t)μ(d)=i=1nj=1ndi,djμ(d)σ0(di)σ0(dj)=d=1nμ(d)(i=1dnσ0(i))2
双倍经验:BZOJ3994: [SDOI2015]约数个数和
51Nod 1220 - 约数之和
∑ i = 1 n ∑ j = 1 n σ 1 ( i j ) \displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n}\sigma_1(ij) i=1nj=1nσ1(ij)
引理: σ 1 ( m n ) = ∑ s ∣ m ∑ t ∣ n m t s [ ( s , t ) = 1 ] \sigma_1(mn)=\displaystyle\sum_{s|m}\displaystyle\sum_{t|n}\frac{mt}{s}[(s,t)=1] σ1(mn)=smtnsmt[(s,t)=1]
证明:同理考虑分离质因子 p p p 后归纳。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值