我们考虑利用\(\sum\limits_{d|n}\varphi(d)=n\)这一性质来处理这个问题

  设\(f(n)=\sum\limits_{i=1}^{n}\varphi(i)\)

  那么我们可以得到:

\[\begin{aligned} \sum\limits_{i=1}^{n}\sum\limits_{d|i}\varphi(d)&=\frac{n(n+1)}{2}\\ \end{aligned} \]

  所以:

\[\sum\limits_{i=1}^{n}\sum\limits_{d=1}^{\lfloor\frac{n}{i}\rfloor}\varphi(d)=\sum\limits_{i=1}^{n}f(\lfloor\frac{n}{i}\rfloor)=\frac{n(n+1)}{2} \]

  然后我们将\(f(n)\)提出来得到:

\[f(n)=\frac{n(n+1)}{2}-\sum\limits_{i=2}^{n}f(\lfloor\frac{n}{i}\rfloor) \]

  然后就可以对于小于\(\sqrt n\)的前缀和预处理一波,然后再记忆化搜索一下就好了

相关文章:

  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2022-12-23
  • 2021-08-21
猜你喜欢
  • 2021-10-12
  • 2021-12-18
  • 2021-09-19
  • 2021-09-21
  • 2021-07-23
  • 2021-11-12
相关资源
相似解决方案