1. 程式人生 > >[洛谷]P4240 毒瘤之神的考驗-數論

[洛谷]P4240 毒瘤之神的考驗-數論

題目地址

題意簡述

T T 次詢問,每次給定 n , m n,m ,求下面式子的值:

i = 1 n j =
1
m
φ ( i j ) \sum_{i=1}^n\sum_{j=1}^m\varphi(ij)

n , m 1 0 5 n,m\leq 10^5 ,輸出答案在 m o d    998244353 \mod 998244353 意義下的值。


分析:

我們先要將 φ ( i j ) \varphi(ij) 拆開,根據定義式:
φ ( n ) = n p n p 1 p p n \varphi(n)=n\prod_{p|n}\frac{p-1}{p}\\ 其中p為n的不同的質數因子

那麼我們看 φ ( i ) φ ( j ) \varphi(i)\varphi(j) 就為:

i p i p 1 p j q j q 1 q i\prod_{p|i}\frac{p-1}{p}\cdot j\prod_{q|j}\frac{q-1}{q}

我們將 i j ij 放在一起可以發現:

i j p i p 1 p q j q 1 q ij\prod_{p|i}\frac{p-1}{p}\prod_{q|j}\frac{q-1}{q}

i , j i,j 的質因子可以看成屬於 i × j i\times j 的所有質因子,而既屬於 i i 又屬於 j j 的,也就是屬於 g c d ( i , j ) gcd(i,j) 的質因子會被算兩次,所以,原式可以轉化為:

i j p i j p 1 p q g c d ( i , j ) q 1 q ij\prod_{p|ij}\frac{p-1}{p}\prod_{q|gcd(i,j)}\frac{q-1}{q}

那麼,我們將原等式兩端同時乘以一個 g c d ( i , j ) gcd(i,j) 可以得到:

φ ( i ) φ ( j ) g c d ( i , j ) = i j p i j p 1 p g c d ( i , j ) q g c d ( i , j ) q 1 q \varphi(i)\varphi(j)gcd(i,j)=ij\prod_{p|ij}\frac{p-1}{p}gcd(i,j)\prod_{q|gcd(i,j)}\frac{q-1}{q}

我們將其替換為 φ ( i j ) \varphi(ij) φ ( g c d ( i , j ) ) \varphi(gcd(i,j)) ,就可以得到:

φ ( i ) φ ( j ) g c d ( i , j ) = φ ( i j ) φ ( g c d ( i , j ) ) φ ( i j ) = φ ( i ) φ ( j ) g c d ( i , j ) φ ( g c d ( i , j ) ) \varphi(i)\varphi(j)gcd(i,j)=\varphi(ij)\varphi(gcd(i,j))\\ \varphi(ij)=\frac{\varphi(i)\varphi(j)gcd(i,j)}{\varphi(gcd(i,j))}

所以我們可以將原式拆開,轉化成求:

i = 1 n j = 1 m φ ( i ) φ ( j ) g c d ( i , j ) φ ( g c d ( i , j ) ) \sum_{i=1}^n\sum_{j=1}^m\frac{\varphi(i)\varphi(j)gcd(i,j)}{\varphi(gcd(i,j))}