求
证明待填. 马老师口胡了一个, 我觉得一点也不靠谱......网上都说的是可以证明. 奥妙重重......
UPDATE: 证明其实很简单......和CF某题差不多. |
学以致用很重要......瞥了一眼WC2016莫比乌斯反演的课件才醒悟. |
设
#define MOD(x) ((x)%M)
typedef long long ll;
const int M = 1e9 + 7, H = 5e8 + 4;
int main()
{
ll n;
scanf("%lld", &n);
ll ans = MOD(n) * MOD(n) % M;
for (ll i = 1, j; i <= n; i = j+1) {
j = n / (n/i);
ans -= MOD(i + j) * MOD(j - i + 1) % M * H % M * (n/i) % M;
(ans += M) %= M;
}
printf("%lld\n", ans);
return 0;
}