约数之和
求∑ni=1∑nj=1σ(i∗j)
原式=∑ni=1∑nj=1∑i∗jd=1e(d|i∗j)∗d
对推到下一步的解释
现在考虑对于一个确定的i,和一个确定的d,有多少个j是满足d|i∗j
∵d|i∗j
∴d/gcd(i,d)|i/gcd(i,d)∗j
∴d/gcd(i,d)|j
设j=k∗(d/gcd(i,d))
∵j<=n
∴k∗(d/gcd(i,d))<=n
∴k<=n∗gcd(i,d)/d
∴原式=∑ni=1∑i∗nd=1⌊n∗gcd(i,d)d⌋∗d
=∑nd1=1∑ni=1∑i∗nd=1e(gcd(i,d)==d1)⌊n∗d1d⌋∗d
∵gcd(i,d)==d1
∴gcd(id1,dd1)==1
原式=∑nd1=1∑⌊nd1⌋i′=1∑nd′=1e(gcd(i′,d′)==1)⌊nd′⌋∗d′∗d1
废话(雾
这里有个地方很有趣
本来式子应该变为∑nd1=1∑⌊nd1⌋i′=1∑i′∗nd′=1e(gcd(i′,d′)==1)⌊nd′⌋∗d′∗d1
我们可以发现第三个segma的枚举减少了.
交换一下求和顺序
原式=∑ni′=1∑⌊ni′⌋d1=1∑nd′=1e(gcd(i′,d′)==1)⌊nd′⌋∗d′∗d1
将d1提出来
原式=∑ni′=1∑⌊ni′⌋d1=1d1∑nd′=1e(gcd(i′,d′)==1)⌊nd′⌋∗d′
可以发现前面的和后面没有关系了
原式=∑ni′=1(1+⌊ni′⌋)∗⌊ni′⌋2∑nd′=1e(gcd(i′,d′)==1)⌊nd′⌋∗d′
=∑ni′=1(1+⌊ni′⌋)∗⌊ni′⌋2∑nd′=1∑g|gcd(i′,d′)μ(g)⌊nd′⌋∗d′
=∑ni′=1(1+⌊ni′⌋)∗⌊ni′⌋2∑nd′=1∑g|i′且g|d′μ(g)⌊nd′⌋∗d′
=∑ni′=1(1+⌊ni′⌋)∗⌊ni′⌋2∑nd′=1d′⌊nd′⌋∑g|i′且g|d′μ(g)
=∑ni′=1(1+⌊ni′⌋)∗⌊ni′⌋2∑nd′=1d′⌊nd′⌋∑ng=1μ(g)e(g|i′)e(g|d′)
i 和 d 互相无关,它们分别只和 d′ 有关,于是我们交换求和顺序,算每个 d′ 对应的 i 和 d ,则有原式
=∑ni′=1(1+⌊ni′⌋)∗⌊ni′⌋2∑nd′=1d′⌊nd′⌋∑ng=1μ(g)e(g|i′)e(g|d′)
=∑ng=1∑⌊ng⌋i′′=1(1+⌊ni′′∗g⌋)∗⌊ni′′∗g⌋2∑⌊ng⌋d′′=1d′′∗g∗⌊nd′′∗g⌋∗μ(g)
=∑ng=1g∗μ(g)∑⌊ng⌋i′′=1(1+⌊ni′′∗g⌋)∗⌊ni′′∗g⌋2∑⌊ng⌋d′′=1d′′∗⌊nd′′∗g⌋