我们考虑利用\(\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\)的前缀和预处理一波,然后再记忆化搜索一下就好了

最新文章

  1. css中的负边距
  2. 一次kibana小问题排查的过程记录
  3. Objective - C 值对象 NSNumber和NSValue
  4. Linux之脚本安装软件
  5. 什么是blob,mysql blob大小配置介绍
  6. myeclipse 右键 Add Struts... 页面报404 错误
  7. C#是怎么获取窗口标题的
  8. codeblocks 更改颜色主题
  9. 01_反射_04_反射类的main方法
  10. android学习—— LayoutInflater的使用
  11. java优势
  12. 再探Delphi2010 Class的构造和析构顺序
  13. DrawerLayout、CoordinatorLayout、CollapsingToolbarLayout的使用--AndroidSupportDesign练手
  14. cocos2dx ResolutionPolicy
  15. hdu 1848 Fibonacci again and again(简单sg)
  16. 【转】调用getActionBar()报Call requires API level 11 (current min is 8): android.app.Activity#getActionBar
  17. 201521123097《Java程序设计》第二周学习总结
  18. ES6新语法
  19. KAFKA跨主机部署网络不通解决思路
  20. 基于jquery二维码生成插件qrcode

热门文章

  1. Qt 5 最新信号和槽连接方式以及Lambda表达式
  2. Android Studio怎样创建App项目
  3. ThinkPHP - 4 - 学习笔记(2015.4.12)
  4. 2.hbase原理(未完待续)
  5. CDH问题集
  6. css修改placeholder的样式
  7. PHP中通过preg_match_all函数获取页面信息并过滤变更为数组存储模式
  8. Rescue(BFS时间最短 另开数组或优先队列)
  9. Thunder团队第三周 - Scrum会议4
  10. lintcode-152-组合