题目大意:

给定m n p 求下式

 

题解:https://blog.csdn.net/codeswarrior/article/details/81700226

莫比乌斯讲解:https://www.cnblogs.com/peng-ym/p/8647856.html

莫比乌斯的mu[]:https://www.cnblogs.com/cjyyb/p/7953803.html

#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 0x3f3f3f3f
#define mem(i,j) memset(i,j,sizeof(i))
const int N=1e6+; LL mu[N], phi[N];
LL inv[N]; int n,m,p; void initinv() {
inv[]=;
for(int i=;i<N;i++)
inv[i]=inv[p%i]*(LL)(p-p/i)%p;
} // 逆元
void init() {
for(int i=;i<N;i++) phi[i]=i;
for(int i=;i<N;i++)
if(i==phi[i]) {
for(int j=i;j<N;j+=i)
phi[j]=phi[j]/i*(i-);
}
mem(mu,); mu[]=;
for(int i=;i<N;i++)
for(int j=i*;j<N;j+=i)
mu[j]-=mu[i];
} // 欧拉 莫比乌斯 LL moblus(int a,int b,int g) {
LL res=; a/=g,b/=g;
/// gcd(1~a,1~b)=g -> gcd(1~a/g,1~b/g)=1
for(int i=;i<=min(a,b);i++)
res+=(LL)mu[i]*(a/i)*(b/i);
/// mu[i] * (1~a,1~b)中[gcd=g或g的倍数]的数量
return res;
} int main()
{
init();
int t; scanf("%d",&t);
while(t--) {
scanf("%d%d%d",&m,&n,&p);
LL ans=; initinv();
for(int i=;i<=min(m,n);i++) {
LL uF=moblus(n,m,i)%p;
ans=(ans+uF*i%p*inv[phi[i]]%p)%p;
}
printf("%lld\n",ans);
} return ;
}

hdu6390 /// 欧拉函数+莫比乌斯反演 筛inv[] phi[] mu[]的更多相关文章

  1. 中国剩余定理 & 欧拉函数 & 莫比乌斯反演 & 狄利克雷卷积 & 杜教筛

    ssplaysecond的博客(请使用VPN访问): 中国剩余定理: https://ssplaysecond.blogspot.jp/2017/04/blog-post_6.html 欧拉函数: h ...

  2. 51nod 1237 最大公约数之和 V3【欧拉函数||莫比乌斯反演+杜教筛】

    用mu写lcm那道卡常卡成狗(然而最后也没卡过去,于是写一下gcd冷静一下 首先推一下式子 \[ \sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j) \] \[ \sum_{i= ...

  3. UVA11426 GCD - Extreme (II) (欧拉函数/莫比乌斯反演)

    UVA11426 GCD - Extreme (II) 题目描述 PDF 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 10 100 200000 0 输出样例#1: 67 13 ...

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

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

  5. ACM学习历程—HYSBZ 2818 Gcd(欧拉函数 || 莫比乌斯反演)

    Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sam ...

  6. BZOJ 2818 GCD 【欧拉函数 || 莫比乌斯反演】

    传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=2818 2818: Gcd Time Limit: 10 Sec  Memory Limit ...

  7. bzoj 2818 Gcd(欧拉函数 | 莫比乌斯反演)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2818 [题意] 问(x,y)为质数的有序点对的数目. [思路一] 定义f[i]表示i之 ...

  8. 洛谷 - P3768 - 简单的数学题 - 欧拉函数 - 莫比乌斯反演

    https://www.luogu.org/problemnew/show/P3768 \(F(n)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}ijgcd(i ...

  9. 【bzoj4804】欧拉心算 莫比乌斯反演+莫比乌斯函数性质+线性筛

    Description 给出一个数字N 求\(\sum_{i=1}^{n}\sum_{j=1}^{n}\varphi(gcd(i,j))\) Input 第一行为一个正整数T,表示数据组数. 接下来T ...

随机推荐

  1. Java内部类类型

    可以在类中的任何位置定义内部类,并在其中编写Java语句.有三种类型的内部类. 内部类的类型取决于位置和声明的方式. 成员内部类 局部内部类 匿名内部类 成员内部类 成员内部类在类中声明的方式与声明成 ...

  2. jmeter 不同线程组之间传递变量3

    jemter编写脚本要点: 1.切记:BeanShell PostProcessor写在关联函数 Regular Expression Extractor的后面 2.header  HTTP Head ...

  3. SpringMVC_HandlerMethodArgumentResolver 实践

    HandlerMethodArgumentResolver  是什么? 就是用于解析参数的一个接口,springMVC(4.1)会直接调用这个接口的方法,对参数进行一定的解析.比如会在 Invocab ...

  4. 14-vim-替换命令-01-替换

    命令 英文 功能 工作模式 r replace 替换当前字符 命令模式 R replace 进入替换模式 替换模式 R命令进入替换模式,输入新字符替换当前光标所在位置的字符,替换完成后,按下ESC可以 ...

  5. 3.3-Cypher语言及语法使用

    Cypher是一种图数据库查询语言,表现力丰富,查询效率高,其地位和作用与关系型数据库中的SQL语言相当. Cypher具备的能力: Cypher通过模式匹配图数据库中的节点和关系,来提取信息或者修改 ...

  6. 装完某些软件之后IE主页被https://www.hao123.com/?tn=93453552_hao_pg劫持

    今天重装电脑,装完某些软件之后发现IE主页被https://www.hao123.com/?tn=93453552_hao_pg劫持,然后百度各种解决方法都没用,甚至是修改注册表依然没啥用 最后忽然看 ...

  7. 进程之间的通信AIDL

    远程端: package cn.itcast.aidl; //AIDL //首先建立AIDL文件,有点和接口类似,建立好AIDL文件后, //会在gen文件夹下自动生成用于远程通信的类 //文件的后缀 ...

  8. ES6 数组扩展(总结)

    1.扩展运算符 将一个数组转为用逗号分隔的参数序列 console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 2.Array.from() 将两类对象转为真正的数组 类 ...

  9. 图像元数据编辑软件:MetaImage使用流程讲解

    MetaImage是唯一的macOS工具,允许在处理所有类型的标签格式时编辑,读取和写入元数据.在时尚的界面中导航,您可以更改图像元数据的所有内容,并对数百张相似的照片进行相同的编辑. https:/ ...

  10. Java中的Set集合以及HashSet

    Set集合: Set继承自Collection,所以没有什么特别的方法. 需要注意的是,Set集合不包含重复元素,我们重点了解Set集合如何保证不包含多余元素. HashSet: HashSet如何保 ...