传送门

题意

分析

\(\sum_i^n(n\%i)=\sum_i^n(n-i*n/i)=n^2-\sum_i^ni*n/i\)

\(=\sum r\sum_i^ni[n/i==r]\)

可以证明r不会超过\(\sqrt n\)个,复杂度O(\(\sqrt n\))

注意乘法爆long long的处理

代码

#include <bits/stdc++.h>
using namespace std; //efine ll long long
#define F(i,a,b) for(int i=a;i<=b;++i)
#define R(i,a,b) for(int i=a;i<b;++i)
#define mem(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f3f3f3f3f
#define ll long long
const ll mod = 1e9+7;
const ll M = 5e8+4;
ll n,ans;
int main()
{
scanf("%lld",&n);
ans=n%mod*(n%mod)%mod;
for(ll i=1,j;i<=n;i=j+1)
{
j=n/(n/i);
ans = ans-(i + j)%mod * ((j - i + 1)%mod)%mod * M % mod * (n/i) % mod;
while(ans<0) ans+=mod;
}
printf("%I64d\n",ans);
return 0;
}

最新文章

  1. JAVA CAS单点登录(SSO) 教程
  2. iOS 根据图片URL从本地相册获取图片
  3. IM,游戏服务端 tcp 框架整理
  4. jP61 2.15
  5. RobotFramework&#160;官方demo&#160;Quick&#160;Start&#160;Guide&#160;rst配置文件分析
  6. 关于第一次在IED(MyEclipse)部署Maven时,pom.xml头部报这样的错---org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)
  7. vim编辑Makefile如何使用Tab
  8. GO语言的进阶之路-Golang字符串处理以及文件操作
  9. 如何使用Cassandra来存储time-series类型的数据
  10. Spring项目JUnit测试报错ClassNotFoundException解决
  11. Docker安装 和简单使用
  12. python连接数据库——create_engine和conn.cursor
  13. JQuery中bind和unbind函数与onclick绑定事件区分
  14. FFmpeg(4)-使用avformat_find_stream_info()来探测获取封装格式的上下文信息
  15. intent调用代码总结
  16. orge资源
  17. 搜狐视频Redis私有云平台CacheCloud
  18. PHP源代码生成 main/config.w32.h
  19. JMeter基础使用方法
  20. Number &amp; Math

热门文章

  1. 一致性hash算法在memcached中的使用
  2. 1.shell编程之变量的高级用法
  3. 多重继承下的virtual functions
  4. 【转载】.NET Remoting学习笔记(三)信道
  5. jQuery源代码框架思路
  6. Linux CentOS下安装、配置mysql数据库
  7. CycleViewPager
  8. Linux编程---进程通信
  9. iOS优秀博文合集
  10. java的gradle项目的基本配置