就是之前的2820的升级版。

把暴力枚举素数改成预处理就随便A了。

#include<bits/stdc++.h>
#define N 10000005
#define ll long long
using namespace std;
int mu[N],vis[N],prime[N],cnt;
long long f[N];
void calcmu(){
cnt=;mu[]=;
memset(f,,sizeof(f));
memset(vis,true,sizeof(vis));
for(int i=;i<N;i++){
if(vis[i])prime[++cnt]=i,mu[i]=-,f[i]=;
for(int j=;j<=cnt;j++){
int t=prime[j]*i;
if(t>N)break;
vis[t]=false;
if(i%prime[j]==){mu[t]=;f[t]=mu[i];break;}
mu[t]-=mu[i];f[t]=mu[i]-f[i];
}
}
for(int i=;i<=N;i++)f[i]+=f[i-];
}
int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return x*f;
}
int main(){
calcmu();int j;int n,m;
int T=;
while(T--){
ll ans=;n=read();m=n;
if(n>m)swap(n,m);
for(int i=;i<=n;i=j+){
j=n/(n/i);
ans+=(f[j]-f[i-])*(n/i)*(m/i);
}
printf("%lld\n",ans);
}
return ;
}

最新文章

  1. DiskFileItemFactory类的使用
  2. python学习 流程控制语句
  3. bzoj2819 Nim
  4. SVN中Branch和Merge实践
  5. SQL Server多表多列更新
  6. vim用法小节
  7. 堆block和栈block的区分
  8. CSS3的几个标签速记1
  9. 深入理解计算机系统第二版习题解答CSAPP 2.5
  10. Andrew Ng机器学习课程笔记--week3(逻辑回归&amp;正则化参数)
  11. 利用ResultFilter实现asp.net mvc 页面静态化
  12. locate 和 find
  13. canvas绘制环形进度条
  14. 西门子S7-300 PLC视频教程(百度网盘)
  15. MySQL主从复制日常管理维护篇
  16. MFC中如何显示颜色选择对话框
  17. Tensorflow &amp; Python3 做神经网络(视频教程)
  18. 3-4 1449 web view
  19. Nchan nginx 支持的开源消息推送模块
  20. 【[SCOI2008]奖励关】

热门文章

  1. 剑指offer-调整数组顺序使奇数位于偶数前面13
  2. web3无法安装的额解决方案-----yarn命令安装web3
  3. Go基础篇【第2篇】: 内置库模块 fmt
  4. Drools 7.4.1.Final参考手册(八) 规则语言参考
  5. Collections常用方法总结
  6. python 调用RESTFul接口
  7. js中迭代元素特性与DOM中的DocumentFragment类型 笔记
  8. 基于SDN的IP RAN网络虚拟化技术
  9. Mybatis学习系列(二)Mapper映射文件
  10. sessionStorage &amp; URL Origin