现在感觉反演好多都是套路QAQ……

#include<bits/stdc++.h>
using namespace std;
const int N=2e6+;
typedef long long ll;
int n,cnt,prime[N],phi[N],mu[N],vis[N];
ll ans,s[N],f[N];
void calcmu(){
memset(prime,,sizeof(prime));cnt=;
memset(phi,,sizeof(phi));memset(mu,,sizeof(mu));
memset(s,,sizeof(s));memset(f,,sizeof(f));
mu[]=;phi[]=;memset(vis,,sizeof(vis));
for(int i=;i<=n;i++){
if(vis[i]){prime[++cnt]=i;mu[i]=-;phi[i]=i-;}
for(int j=;j<=cnt;j++){
int t=prime[j]*i;if(t>n)break;
vis[t]=;
if(i%prime[j]==){
mu[t]=;phi[t]=phi[i]*prime[j];
break;
}
mu[t]=-mu[i];phi[t]=phi[i]*(prime[j]-);
}
}
for(int i=;i<=n;i++)s[phi[i]]++;
for(int i=;i<=n;i++)
for(int j=i;j<=n;j+=i)f[i]+=s[j];
for(int i=;i<=n;i++)f[i]=f[i]*f[i];
for(int i=;i<=n;i++)if(mu[i]!=)
for(int d=;i*d<=n;d++)ans+=mu[i]*phi[d]*f[i*d];
printf("%lld\n",ans);
}
inline 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 f*x;
}
int main(){
int T=read();
while(T--){
n=read();ans=;calcmu();
}
}

现在没有爱蜜莉雅碳陪我做题啦TAT

最新文章

  1. 蓝牙 BLE GATT 剖析(一)
  2. Python模块(pickle)
  3. VBS数组函数学习实例分析
  4. 用 Xamarin for VS 创建 aar 文件的绑定
  5. 设置 ubuntu ftp
  6. js时间字符串转Date对象
  7. Java使用poi包读取Excel文档
  8. hdoj 2620 Bone Collector(0-1背包)
  9. vim_编码配置文件_utf8乱码解决
  10. C#多功能DataGridView打印类(WinForm)
  11. springboot2.0整合shiro出现ShiroDialect报错 找不到org/thymeleaf/processor/attr/AbstractTextChildModifierAttrPr
  12. AHOI2019游记
  13. jquery判断&lt;inpur type=&quot;checkbox&quot; checked&gt;是否被选择
  14. 自动化运维之cobbler安装centos7.3
  15. loj#2054. 「TJOI / HEOI2016」树
  16. 微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧
  17. hdoj:2047
  18. are not called implicitly
  19. Spark学习笔记1:Spark概览
  20. 「SHOI2015」自动刷题机

热门文章

  1. 阿里云DTS VS MySQLdump
  2. Prim求MST最小生成树
  3. HDU 5794 A Simple Chess Lucas定理+dp
  4. Java 8手动实现一个Collector
  5. 【转】H5 - HTML5新增标签
  6. jQuery添加、移除、改变class属性
  7. regex &amp; form validation &amp; phone
  8. P2127 序列排序
  9. taotao购物车2 解决购物车本地cookie和服务器redis不同步的问题
  10. [poj 3436]最大流+输出结果每条边流量