1. 程式人生 > >【51nod 1238】最小公倍數之和

【51nod 1238】最小公倍數之和

題意:求 i = 1 n j
= 1 n l c m ( i , j
) \sum_{i=1}^n\sum_{j=1}^nlcm(i, j)

題解:

原式可化為:
i =

1 n j = 1 n i j g c d ( i , j ) \sum_{i=1}^n\sum_{j=1}^n\frac{ij}{gcd(i, j)}
i = 1 n j = 1 n d = 1 n i j d [ d = g c d ( i , j ) ] \sum_{i=1}^n\sum_{j=1}^n\sum_{d=1}^n\frac{ij}{d}[d=gcd(i, j)]
將i, 改為 i d id ,j改為 j d jd
d = 1 n d i = 1 n d i j = 1 n d j [ g c d ( i , j ) = 1 ] \sum_{d=1}^nd\sum_{i=1}^{\lfloor{\frac{n}{d}}\rfloor}i\sum_{j=1}^{\lfloor{\frac{n}{d}}\rfloor}j[gcd(i, j)=1]
引理1: i = 1 n i [ g c d ( n , i ) = 1 ] = n ϕ ( n ) + [ n = 1 ] 2 \sum_{i=1}^{n}i[gcd(n, i)=1]=\frac{n\phi{(n)}+[n=1]}{2}
理由如下:
由於對任意 g c d ( n , i ) = 1 gcd(n,i)=1 ,由輾轉相除得: g c d ( n , n i ) = 1 gcd(n, n-i)=1
i = 1 n i [ g c d ( n , i ) = 1 ] = n ϕ ( n ) + [ n = 1 ] 2 \sum_{i=1}^{n}i[gcd(n, i)=1]=\frac{n\phi{(n)}+[n=1]}{2}
繼續化簡:
i = j = 1 i=j=1 ,則會被多算一次,故減1
i = j n i=j\neq{n} ,則 g c d ( i , j ) 1 gcd(i,j)\neq{1} ,故不會被重複 計算

d = 1 n d ( 2 i = 1 n d i j = 1 i j [ g c d ( i , j ) = 1 ] 1 ) \sum_{d=1}^nd(2\sum_{i=1}^{\lfloor{\frac{n}{d}}\rfloor}i\sum_{j=1}^{i}j[gcd(i, j)=1]-1)
由引理1:
d = 1 n d ( 2 i = 1 n d i i ϕ ( i ) + [ i = 1 ] 2 1 ) \sum_{d=1}^nd(2\sum_{i=1}^{\lfloor{\frac{n}{d}}\rfloor}i\frac{i\phi{(i)+[i=1]}}{2}-1)
i = 1 i=1 時, i ϕ ( i ) + [ i = 1 ] 2 = 1 \frac{i\phi{(i)+[i=1]}}{2}=1

相關推薦

51Nod 1040 大公約數之和

Description Solution 分析題目可以發現,兩個數gcd(a,b)=x,則等價於gcd(ax,bx)=1,問題就可以轉化為滿足gcd(nx,ix)=1的i的個數,對答案貢獻就是個

51nod1238 小公倍數之和 V3

sum ron 前綴和 body var rac style str 算法 【題意】給定n,求Σi=1~nΣj=1~n lcm(i,j),n<=10^10。 【算法】杜教篩 【題解】 $ans=\sum_{i=1}^{n}\sum_{j=1}^{i}lcm(i,j)$

[51Nod 1238] 小公倍數之和 V3數論杜教篩未完成

Description 求 ∑i=1n∑j=1nlcm(i,j)\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n} lcm(i,j)i=1∑n​j=1∑n​lcm(i,

51nod 1190 小公倍數之和 V2

() lld ray 一個數 spl sin .com 一起 輸入 給出2個數a, b,求LCM(a,b) + LCM(a+1,b) + .. + LCM(b,b)。 例如:a = 1, b = 6,1,2,3,4,5,6 同6的最小公倍數分別為6,6,6,12,30,

Code+ A 晨跑三個數的小公倍數

響應 每次 bits 空間限制 name 我們 div cli 決定 時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 262144K,其他語言524288K64bit IO Format: %lld 題目描述 “無體育,不清華”

51nod-1363: 小公倍數之和

【傳送門:51nod-1363】 簡要題意:   給出一個數n,求出1到n的數與n的最小公倍數的和   多組資料 題解:   理所當然推柿子   原題相當於求$\sum_{i=1}^{n}\frac{i*n}{gcd(i,n)}$   先列舉d=gcd(i,n),然後化簡得到$$n*\s

51nod1238 小公倍數之和 V3

clas i++ ble optimize opc 51nod bit return n+1 題意:求\(\sum_{i=1}^n\sum_{j=1}^n\frac{i*j}{gcd(i,j)}\) 題解:先枚舉gcd,\(\sum_{d=1}^nd\sum_{i=1}^{

51Nod - 1272 大距離 (思維,排序sort的空間優化)

題幹: 給出一個長度為N的整數陣列A,對於每一個數組元素,如果他後面存在大於等於該元素的數,則這兩個數可以組成一對。每個元素和自己也可以組成一對。例如:{5, 3, 6, 3, 4, 2},可以組成11對,如下(數字為下標): (0,0), (0, 2), (1, 1), (1, 2),

51Nod 1103N的倍數(字首和,抽屜定理)詳細!!

Description 一個長度為N的陣列A,從A中選出若干個數,使得這些數的和是N的倍數。  例如:N = 8,陣列A包括:2 5 6 3 18 7 11 19,可以選2 6,因為2 + 6 = 8,是8的倍數。 先欣賞一下兩位大佬的程式碼  字首和

已知自然數A、B不互質,A、B大公約數和小公倍數之和為35,那麼A+B的小值是多少?

已知自然數A、B不互質,A、B最大公約數和最小公倍數之和為35,那麼A+B的最小值是多少? AB不互素,那麼設(A,B) = dA = daB = db那麼(a,b) = 1最小公倍數為dabd+dab =35所以d(ab+1) = 5*7如果d = 5那麼ab = 6那麼(a,b)=(1,6)(2,3)

[51nod1363][數論]小公倍數之和

Description 給出一個n,求1-n這n個數,同n的最小公倍數的和。 例如:n = 6,1,2,3,4,5,6 同6的最小公倍數分別為6,6,6,12,30,6,加在一起 = 66。 由於結果很大,輸出Mod 1000000007的結果。 Input

51nod 1274 長遞增路徑 (dp)

**題目來源: Codility 基準時間限制:1 秒 空間限制:131072 KB 分值: 80 難度:5級演算法題** 一個無向圖,可能有自環,有重邊,每條邊有一個邊權。你可以從任何點出發,任

動態規劃大子矩陣之和

最大子矩陣之和 題目描述 已知矩陣的大小定義為矩陣中所有元素的和。給定一個矩陣,你的任務是找到最大的非空(大小至少是11)子矩陣。 比如,如下44子矩陣 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最

51nod1238. 小公倍數之和 V3(莫比烏斯反演)

題目連結 https://www.51nod.com/Challenge/Problem.html#!#problemId=1238 題解 本來想做個杜教篩板子題結果用另一種方法過了...... 所謂的“另一種方法”用到的技巧還是挺不錯的,因此這裡簡單介紹一下。 首先還是基本的推式子: \[\be

[51Nod1238]小公倍數之和 V3[杜教篩]

題意 給定 \(n\) ,求 \(\sum_{i=1}^n \sum_{j=1}^n lcm(i,j)\)。 \(n\leq 10^{10}\) 分析 推式子 \[\begin{aligned} ans &= 2\sum_{i=1}^n\sum_{j=1}^ilcm(i,j)-\sum_

51Nod1238小公倍數之和V3的另一種做法

前面的講解【Blog地址】 題目意思:求 ∑ i

[國家集訓隊]Crash的數字表格/JZPTAB和51Nod1238小公倍數之和V3題解-數論

[國家集訓隊]Crash的數字表格【地址BZOJ2145地址Luoguo】 題意簡述 給你兩個正整數 n ,