1. 程式人生 > >SPOJ SUMPRO(數學)

SPOJ SUMPRO(數學)

strong 序列 分析 所有 枚舉 發現 個數 得到 題意

題意:

給出一個數N,問所有滿足n/x=y(此處為整除)的所有x*y的總和是多少。對答案mod(1e9+7)。

1 <= T <= 500。

1 <= N <= 1e9。

分析:

可以枚舉x得到y,但是這樣是O(n)的會TLE

當x<=sqrt(n)的時候,我們可以暴力枚舉

當x>sqrt(n)的時候,我們發現很多x對應的y值都相等,這些組成一個等差序列,實際上,這時候的(x,y)就是我們之前暴力過的(y,x),等差數列求和即可

SPOJ SUMPRO(數學)