luogu#P2025. Dirichlet 半在线卷积

    ID: 36074 远端评测题 4000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>洛谷原创Dirichlet 卷积欧拉函数

Dirichlet 半在线卷积

题目描述

已知函数 ff 满足 f(1)=1f(1)=1,且

f(n)=dn,d<nf(d)φ(n/d).f(n)=\sum_{d|n,d<n}f(d)\varphi(n/d).

给定正整数 nn,试求出 f(1),f(2),,f(n)f(1),f(2),\cdots,f(n) 的值。为控制输出量,你只需输出下式的值:

k=1n(f(k)mod232).\bigoplus_{k=1}^n\left(f(k)\bmod 2^{32}\right).

其中 \oplus 代表异或。

输入格式

一行一个正整数 nn

输出格式

一行一个非负整数,代表 k=1n(f(k)mod232)\bigoplus_{k=1}^n\left(f(k)\bmod 2^{32}\right) 的值。

10
10
1000000
3527171714
10000000
191685100

提示

对于所有数据,1n5×1071\le n\le 5\times 10^7

对于样例一,ff 的前 1010 项依次为:1,1,2,3,4,6,6,9,10,121,1,2,3,4,6,6,9,10,12

时限为 std 的 1.5 倍。