分析:筛素数,然后枚举,莫比乌斯反演,然后关键就是分块加速(分块加速在上一篇文章)

#include<cstdio>
#include<cstring>
#include<queue>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
typedef long long LL;
const int N=1e7+;
const int INF=0x3f3f3f3f;
bool vis[N];
int prime[N],mu[N],cnt;
void getmu()
{
mu[] = ;
for(int i=; i<=N-; i++)
{
if(!vis[i])
{
prime[++cnt] = i;
mu[i] = -;
}
for(int j=; j<=cnt&&i*prime[j]<=N-; j++)
{
vis[i*prime[j]] = ;
if(i%prime[j]) mu[i*prime[j]] = -mu[i];
else
{
mu[i*prime[j]] = ;
break;
}
}
}
}
int main(){
getmu();
for(int i=;i<=N-;++i)mu[i]+=mu[i-];
int n;
scanf("%d",&n);
LL ans=;
for(int i=;i<=cnt&&prime[i]<=n;++i){
int l=n/prime[i];
for(int k=,j;k<=l;k=j+){
j=l/(l/k);
ans+=1ll*(mu[j]-mu[k-])*(l/k)*(l/k);
}
}
printf("%lld\n",ans);
return ;
}

最新文章

  1. threading示例
  2. poj1981Circle and Points(单位圆覆盖最多的点)
  3. systemd的原理和适用方法
  4. HDU 5762 Teacher Bo (暴力)
  5. [android]netd与NetworkManagementService初印象
  6. imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 1 extraneous bytes be
  7. js判断访问者是否来自移动端代码
  8. ACM第五次积分赛
  9. SQL TOP分页
  10. w 命令详解
  11. SQL 行转列的运用
  12. robot framework
  13. 【Java基础】char
  14. 又拍云 Node.js 实现文件上传、删除
  15. Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式
  16. 【转载】为什么任何随便输入的账号使用SYSDBA权限都能登陆oracle
  17. import和require的区别
  18. 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
  19. Docker配置国内加速器加速镜像下载的方法
  20. LintCode: Delete Node in the Middle of Singly Linked List

热门文章

  1. win7 64 安装Oracle 11G 、使用PLSQL进行连接 标准实践
  2. jquery垂直公告滚动实现代码
  3. python27读书笔记0.2
  4. Python的设计模式学习
  5. Educational Codeforces Round 8 D. Magic Numbers
  6. 2014年度辛星html教程夏季版第七节
  7. protel DXP的类矢量图功能
  8. unity的旋转
  9. repo manifest xml 文件修改后提交命令
  10. 长达半年的苹果发布会:亮点与槽点(iPhone5s,iPhone5c)