1. 程式人生 > >[洛谷]P3768 簡單的數學題-數論

[洛谷]P3768 簡單的數學題-數論

題目地址

題意簡述

給定兩個整數 n , p n,p ,求下面式子的值:

i

= 1 n j = 1
n
i j ( g c d ( i
, j ) ) \sum_{i=1}^n\sum_{j=1}^nij(gcd(i,j))

在模 p p 意義下的值。

n 1 0 10 , p 1.1 × 1 0 9 n\leq 10^{10},p\leq 1.1\times 10^9 p p 為質數。


  • 分析

我們根據套路,來列舉 g c d gcd ,原式變成:

d = 1 n i = 1 n j = 1 n i j d [ g c d ( i , j ) = d ] = d = 1 n d i = 1 n j = 1 n i j [ g c d ( i , j ) = d ] = d = 1 n d i = 1 n d j = 1 n d i d × j d [ g c d ( i , j ) = 1 ] = d = 1 n d 3 i = 1 n d j = 1 n d i j [ g c d ( i , j ) = 1 ] \sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^nijd[gcd(i,j)=d]\\ =\sum_{d=1}^nd\sum_{i=1}^n\sum_{j=1}^nij[gcd(i,j)=d]\\ =\sum_{d=1}^nd\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}id\times jd[gcd(i,j)=1]\\ =\sum_{d=1}^nd^3\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}ij[gcd(i,j)=1]

後面我們用莫比烏斯反演的套路,原式變成:

= d = 1 n d 3 i = 1 n d j = 1 n d i j w i , w j μ ( w ) = d = 1 n d 3 w = 1 n d μ ( w ) i = 1 n d w i w j = 1 n d w j w = d = 1 n d 3 w = 1 n d μ ( w ) w 2 i = 1 n d w i j = 1 n d w j = \sum_{d=1}^nd^3\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}ij\sum_{w|i,w|j}\mu(w)\\ = \sum_{d=1}^nd^3\sum_{w=1}^{\lfloor\frac{n}{d}\rfloor}\mu(w)\sum_{i=1}^{\lfloor\frac{n}{dw}\rfloor}iw\sum_{j=1}^{\lfloor\frac{n}{dw}\rfloor}jw\\ = \sum_{d=1}^nd^3\sum_{w=1}^{^{\lfloor\frac{n}{d}\rfloor}}\mu(w)w^2\sum_{i=1}^{\lfloor\frac{n}{dw}\rfloor}i\sum_{j=1}^{\lfloor\frac{n}{dw}\rfloor}j