莫比乌斯反演约数个数和

Posted skywalker767

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了莫比乌斯反演约数个数和相关的知识,希望对你有一定的参考价值。

日拱一卒,功不唐捐

题目描述
d ( x ) d(x) d(x) x x x 的约数个数,给定 N , M N,M N,M,求
∑ i = 1 N ∑ j = 1 M d ( i j ) ∑_i=1^N∑_j=1^Md(ij) i=1Nj=1Md(ij)
输入格式
输入多组测试数据。
第一行,一个整数 T,表示测试数据的组数。
接下来的 T 行,每行两个整数 N、M。

原式等价于
∑ i = 1 N ∑ j = 1 M d ( i j ) = ∑ i = 1 n ∑ j = 1 m ∑ x ∣ j ∑ y ∣ j [ ( x , y ) = 1 ] ∑_i=1^N∑_j=1^Md(ij) = ∑_i = 1^n∑_j = 1^m∑_x | j∑_y | j [(x , y) = 1] i=1Nj=1Md(ij)=i=1nj=1mxjyj[(x,y)=1]
这个题看完后,我发现,原来,有的题,还没有开始,就已经结束了。这个转化极其精妙,我等愚钝,只能站在前人的肩膀上了。
证明
对于每一个 i , j i , j i,j
我们都能写为其质因子相乘的形式:
i = p 1 α 1 p 2 α 2 p 3 α 3 . . . . . p n α n j = p 1 β 1 p 2 β 2 p 3 β 3 . . . . . p n β n i ∗ j = p 1 α 1 + β 1 p 2 α 2 + β 2 p 3 α 3 + β 3 . . . . . p n α n + β n i = p_1^\\alpha_1p_2^\\alpha_2p_3^\\alpha_3.....p_n^\\alpha_n\\\\ j = p_1^\\beta_1p_2^\\beta_2p_3^\\beta_3.....p_n^\\beta_n\\\\ i * j = p_1^\\alpha_1 + \\beta_1p_2^\\alpha_2 + \\beta_ 2p_3^\\alpha_3 + \\beta_3.....p_n^\\alpha_n + \\beta_n\\\\ i=p1α1p2α2p3α3.....pnαnj=p1β1p2β2p3β3.....pnβnij=p1α1+β1p2α2+β2p3α3+β3.....pnαn+βn
这里 α \\alpha α β \\beta β可以为0.
约数个数显然为
( α 1 + β 1 + 1 ) + ( α 2 + β 2 + 1 ) + ( α 3 + β 3 + 1 ) + . . . + ( α n + β n + 1 ) (\\alpha_1 + \\beta_1 + 1) + (\\alpha_2 + \\beta_2 + 1) + (\\alpha_3 + \\beta_3 + 1) + ... + (\\alpha_n + \\beta_n + 1) (α1+β1+1)+(α2+β2+1)+(α3+β3+1)+...+(αn+βn+1)
那么我们要证明其跟最大公约数有关,不妨列出每一个 i , j i , j i,j对于每个 p i p_i pi的取 值,我们发现 , i 可以取:
1 , p i , p i 2 . . . p i α n 1 , p_i , p_i^2...p_i^\\alpha_n 1,pi,pi2...piαn
j可以取到
1 , p i , p i 2 . . . p i β n 1 , p_i , p_i^2...p_i^\\beta_n 1,pi,pi2...piβn
并且当一个不取1的时候,另外一个肯定取1,那么总共有 α + β + 1 \\alpha + \\beta + 1 α+β+1中取法,对于每一个都是如此,所以
∑ x ∣ j ∑ y ∣ j [ ( x , y ) = 1 ] = ( α 1 + β 1 + 1 ) + ( α 2 + β 2 + 1 ) + ( α 3 + β 3 + 1 )

以上是关于莫比乌斯反演约数个数和的主要内容,如果未能解决你的问题,请参考以下文章

[SDOI2015] 约数个数和 (莫比乌斯反演)

bzoj3994[SDOI2015]约数个数和 莫比乌斯反演

[BZOJ 3994]约数个数和 莫比乌斯反演

BZOJ 39943994: [SDOI2015]约数个数和(莫比乌斯反演)

bzoj3994: [SDOI2015]约数个数和(莫比乌斯反演+分块)

莫比乌斯反演约数个数和