题解:枚举gcd,算每个gcd对答案的贡献,贡献用到欧拉函数的一个结论

最后用nlogn预处理一下,O(1)出答案

把long long 打成int 竟然没看出来QWQ

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
const int maxn=1000009;
const int u=1000000;
typedef long long Lint; int T;
int n; int cntprime;
int prime[maxn];
int vis[maxn];
Lint phi[maxn];
Lint f[maxn];
void Lineshake(){
vis[1]=1;phi[1]=1;
for(int i=2;i<=u;++i){
if(!vis[i]){
prime[++cntprime]=i;
phi[i]=i-1;
}
for(int j=1;(j<=cntprime)&&(i*prime[j]<=u);++j){
vis[i*prime[j]]=1;
if(i%prime[j]==0){
phi[i*prime[j]]=phi[i]*prime[j];
break;
}
phi[i*prime[j]]=phi[i]*(prime[j]-1);
}
}
phi[1]=1;
for(int i=2;i<=u;++i)phi[i]=phi[i]*1LL*i/2;
} void minit(){
cntprime=0;
memset(vis,0,sizeof(vis));
} int main(){
scanf("%d",&T);
minit();
Lineshake();
for(int d=1;d<=u;++d){
for(int k=1;k*d<=u;++k){
f[d*k]+=phi[d]*d*k;
}
}
while(T--){
scanf("%d",&n);
printf("%lld\n",f[n]);
}
return 0;
}

  

BZOJ 2226 [Spoj 5971] LCMSum的更多相关文章

  1. BZOJ 2226 [Spoj 5971] LCMSum 最大公约数之和 | 数论

    BZOJ 2226 [Spoj 5971] LCMSum 这道题和上一道题十分类似. \[\begin{align*} \sum_{i = 1}^{n}\operatorname{LCM}(i, n) ...

  2. bzoj 2226: [Spoj 5971] LCMSum 数论

    2226: [Spoj 5971] LCMSum Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 578  Solved: 259[Submit][St ...

  3. BZOJ 2226 [Spoj 5971] LCMSum | 数论拆式子

    题目: http://www.lydsy.com/JudgeOnline/problem.php?id=2226 题解: 题目要求的是Σn*i/gcd(i,n) i∈[1,n] 把n提出来变成Σi/g ...

  4. BZOJ 2226: [Spoj 5971] LCMSum 莫比乌斯反演 + 严重卡常

    Code: #pragma GCC optimize(2) #include<bits/stdc++.h> #define setIO(s) freopen(s".in" ...

  5. BZOJ2226: [Spoj 5971] LCMSum

    题解: 考虑枚举gcd,然后问题转化为求<=n且与n互质的数的和. 这是有公式的f[i]=phi[i]*i/2 然后卡一卡时就可以过了. 代码: #include<cstdio> # ...

  6. 【BZOJ2226】[Spoj 5971] LCMSum 莫比乌斯反演(欧拉函数?)

    [BZOJ2226][Spoj 5971] LCMSum Description Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n ...

  7. 【bzoj2226】[Spoj 5971] LCMSum 欧拉函数

    题目描述 Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n,n), where LCM(i,n) denotes the Leas ...

  8. bzoj 2226 LCMSum 欧拉函数

    2226: [Spoj 5971] LCMSum Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 1123  Solved: 492[Submit][S ...

  9. 三种做法:BZOJ 2780: [Spoj]8093 Sevenk Love Oimaster

    目录 题意 思路 AC_Code1 AC_Code2 AC_Code3 参考 @(bzoj 2780: [Spoj]8093 Sevenk Love Oimaster) 题意 链接:here 有\(n ...

随机推荐

  1. jquery获取select选中的文本值

    误区: 一直以为jquery获取select中option被选中的文本值,是这样写的:   $("#id").text();  //获取所有option的文本值 实际上应该这样: ...

  2. ES6转换ES5

    各大浏览器的最新版本,对 ES6 的支持可以查看kangax.github.io/es5-compat-table/es6/.随着时间的推移,支持度已经越来越高了,超过 90%的 ES6 语法特性都实 ...

  3. Vue方法中修改数组某一项元素而不能响应式更新

    <template> <div> <ul> <li v-for="(item, i) in ms" :key="i"& ...

  4. activity带参跳转和界面登录

    首先 首先是MainActivity的xml文件 <?xml version="1.0" encoding="utf-8"?> <Linear ...

  5. 5G时代能携号转网,你会提前换新手机吗?

    每一次网络制式的变革,总能引发业界和大众的强烈关注.毕竟网络制式的迭代,能为社会的方方面面带来极大嬗变.而5G时代即将开启,必然会出现更多弄潮儿,也会带来让人心动的美好生活.不过,鉴于5G本身的特殊性 ...

  6. vue+element 递归上传图片

    直接上代码. <template>   <div>     <el-upload       action="http://localhost:3000/pic ...

  7. R 误差自相关与DW检验

    R语言进行DW检验: library(lmtest) dw = dwtest(fm1) > dw Durbin-Watson test data: fm1 DW = 2.4994, p-valu ...

  8. (转)CentOS/Debian/Ubuntu系统 TCP-BBR 一键安装脚本

    本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 虚拟技术:OpenVZ 以外的(KVM.Xen.VMware等) 内存要求:≥128M 日期 :2017 年 0 ...

  9. spring boot 2.18

    @SpringBootAppliction: 标注在某个类,则是springboot的主配置类,springboot就运行这个类的main方法启动springboot; @SpringBootConf ...

  10. NO13 Linux的基础优化-关闭SELinux功能-Linux的7种运行级别-防火墙设置-中文显示设置

    壹  安装Linux系统后调优及安全设置: 1 关闭SELinux功能: [root@localhost data]# sed 's#SELINUX=enforcing#SELINUX=disable ...