题意:$\sum_{i=1}^{n}\sum_{j=1}^{n}[gcd(i,j)\epsilon prime]$。

对于这类题一般就是枚举gcd,可得:

=$\sum_{d\epsilon prime}\sum_{i=1}^{n}\sum_{j=1}^{n}[gcd(i,j)==d]$

=$\sum_{d\epsilon prime}\sum_{i=1}^{{\lfloor \frac{n}{d}\rfloor}}\mu(i){\lfloor \frac{n}{id}\rfloor}{\lfloor \frac{n}{id}\rfloor}$

预处理素数,莫比乌斯前缀和,后面部分整除分块。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e7+;
bool p[N];
int pri[N],mu[N],tot;
void init() {
mu[]=;
for(int i=;i<N;i++) {
if(!p[i]) pri[tot++]=i,mu[i]=-;
for(int j=;j<tot&&i*pri[j]<N;j++) {
p[i*pri[j]]=true;
if(i%pri[j]==) {
mu[i*pri[j]]=;
break;
}
else mu[i*pri[j]]=-mu[i];
}
}
for(int i=;i<N;i++) mu[i]+=mu[i-];
}
ll cal(int n) {
ll ans=;
for(int l=,r;l<=n;l=r+) {
r=n/(n/l);
ans+=1LL*(mu[r]-mu[l-])*(n/l)*(n/l);
}
return ans;
}
int main() {
init();
int n;
scanf("%d",&n);
ll ans=;
for(int i=;i<tot&&pri[i]<=n;i++) {
ans+=cal(n/pri[i]);
}
printf("%lld\n",ans);
return ;
}

洛谷 P2568 GCD(莫比乌斯反演)的更多相关文章

  1. 洛谷P2568 GCD (欧拉函数/莫比乌斯反演)

    P2568 GCD 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 输入 ...

  2. 洛谷 - P2568 - GCD - 欧拉函数

    https://www.luogu.org/problemnew/show/P2568 统计n以内gcd为质数的数的个数. 求 \(\sum\limits_p \sum\limits_{i=1}^{n ...

  3. 洛谷P2568 GCD(线性筛法)

    题目链接:传送门 题目: 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 ...

  4. [洛谷P2568]GCD

    题目大意:给你$n(1\leqslant n\leqslant 10^7)$,求$\displaystyle\sum\limits_{x=1}^n\displaystyle\sum\limits_{y ...

  5. 洛谷P3935 Calculating (莫比乌斯反演)

    P3935 Calculating 题目描述 若xx分解质因数结果为\(x=p_1^{k_1}p_2^{k_2}\cdots p_n^{k_n},令f(x)=(k_1+1)(k_2+1)\cdots ...

  6. 洛谷P2568 GCD(莫比乌斯反演)

    传送门 这题和p2257一样……不过是n和m相同而已…… 所以虽然正解是欧拉函数然而直接改改就行了所以懒得再码一遍了2333 不过这题卡空间,记得mu开short,vis开bool //minamot ...

  7. 洛谷 P2568 GCD

    https://www.luogu.org/problemnew/show/P2568#sub 最喜欢题面简洁的题目了. 本题为求两个数的gcd是素数,那么我们将x和y拆一下, 假设p为$gcd(x, ...

  8. 洛谷 P2568 GCD 题解

    原题链接 庆祝一下:数论紫题达成成就! 第一道数论紫题.写个题解庆祝一下吧. 简要题意:求 \[\sum_{i=1}^n \sum_{j=1}^n [gcd(i,j)==p] \] 其中 \(p\) ...

  9. 洛谷P2398 GCD SUM (数学)

    洛谷P2398 GCD SUM 题目描述 for i=1 to n for j=1 to n sum+=gcd(i,j) 给出n求sum. gcd(x,y)表示x,y的最大公约数. 输入输出格式 输入 ...

随机推荐

  1. hbase连接linux开发过程

    最近近公司被安排做hbase开发,太久没做今天记录下过程 import java.io.IOException; import org.apache.hadoop.conf.Configuration ...

  2. Hadoop集群中有哪些节点类型

  3. Phone List HDU1671 字典树Trie

    模板题...不过会爆内存,要小心 #include <iostream> #include <cstdio> #include <string.h> #pragma ...

  4. jquery判断元素是否出现在可视区

      在我们的日常开发中,经常会遇到当元素出现在可视区的时候需要去出发某一事件的情况.我最近在优化环球网首页的时候,将非可视区的代码全部放入到webComponent中.打算当这个元素出现在可视区的时候 ...

  5. PhpExcel参考网址

    参考网址: http://www.cnblogs.com/yuwensong/p/3771787.html

  6. hibernate hql语句 group by having 的坑

    我期望获得这个列表 然而,使用hql只能获得第一条数据,后来我琢磨了一下,和group by有关系 应该改成 成功查询到

  7. 2019-3-1-安装-Sureface-Hub-系统-Windows-10-team-PPIPro-系统

    title author date CreateTime categories 安装 Sureface Hub 系统 Windows 10 team PPIPro 系统 lindexi 2019-03 ...

  8. vue-eslint配置文件

    做项目的时候,我把eslint设置为了false,可想而知提交会产生的冲突 让我一个一个解决肯定不可能的,eslint的rule很多 在vue的配置文件.eslintrc.js中配置以下选项 这样只需 ...

  9. 转: CentOS上安装LAMP之第一步:Apache环境及安装过程报错解决方案(纯净系统环境)

    传送门:http://blog.csdn.net/zhangatle/article/details/77416996  小心坑!填完就懂怎么安装了 Note:要从零开始搭建,就不要嫌中间遇到各种问题 ...

  10. python第二天 : 计算机基础(二)

    目录 1.什么是编程 2.操作系统有什么用? 3.计算机由哪三大部分组成? 4.简述操作系统和应用程序的启动流程? 5.编程语言的分类有哪些?并评估各个分类的优缺点. 1).机器语言 2).汇编语言 ...