1. 程式人生 > >【雜題】[51Nod 1238] 最小公倍數之和 V3【數論】【杜教篩】

【雜題】[51Nod 1238] 最小公倍數之和 V3【數論】【杜教篩】

Description


i = 1 n

j = 1 n l c m (
i , j ) \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n} lcm(i,j)
n
1 0 10 n\leq 10^{10}

Solution

l c m lcm 拆開
原式化為
i = 1 n j = 1 n i j gcd ( i , j ) \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n} {ij\over \gcd(i,j)}
d = gcd ( i , j ) , i = i / d , j = j / d d=\gcd(i,j),i=i/d,j=j/d
方便起見以下的除法預設為下取整
= d = 1 n d i = 1 n d j = 1 n d i j [ gcd ( i , j ) = 1 ] =\sum\limits_{d=1}^{n}d\sum\limits_{i=1}^{n\over d}\sum\limits_{j=1}^{n\over d} ij[\gcd(i,j)=1]

考慮對稱性,有
= d = 1 n d × ( 2 ( i = 1 n d i j = 1 i j [ gcd ( i , j ) = 1 ] ) 1 ) =\sum\limits_{d=1}^{n}d\times \left(2\left(\sum\limits_{i=1}^{n\over d}i\sum\limits_{j=1}^{i} j[\gcd(i,j)=1]\right)-1\right)
(因為1被計算了2次,因此最後要-1)

我們知道,小於等於n且與n互質的數的和是 φ ( n ) n 2 φ(n)*n\over 2 (考慮一個小於等於n且與n互質的數i,顯然n-i也與n互質,這樣總共有 φ ( n ) 2 φ(n)\over 2 組)
1除外,小於等於1且與1互質的數的和是1,因此還要加上一個 1 2 1\over 2
因此又有
= d = 1 n d × ( 2 ( i = 1 n d φ ( i ) i 2 2 ) 1 + 1 2 × 2 ) =\sum\limits_{d=1}^{n}d\times \left(2\left(\sum\limits_{i=1}^{n\over d}{φ(i)*i^2\over 2}\right)-1+{1\over 2}\times 2\right)
= d = 1 n d × i = 1 n d φ ( i ) × i 2 =\sum\limits_{d=1}^{n}d\times \sum\limits_{i=1}^{n\over d}φ(i)\times i^2

f ( n ) = φ ( n ) n 2 f(n)=φ(n)·n^2
現在要做的就是求 f ( n ) f(n) 的字首和 S ( n ) S(n)
考慮杜教篩

我們發現 f i d 2 = i d 3 f*id^2=id^3 (其中 * 為狄利克雷卷積),即 d n φ ( d ) d 2 <