Hackerrank GCD Product(莫比乌斯反演)
题意
题目链接
Sol
一道咕咕咕了好长时间的题
题解可以看这里
#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int MAXN = 1e7 + 5e6 + 10, mod = 1e9 + 7, mod2 = 1e9 + 6;
int N, M, vis[MAXN], prime[MAXN], mu[MAXN], f[MAXN], tot;
int add(int x, int y) {if(x + y < 0) return x + y + mod;return x + y >= mod ? x + y - mod : x + y;
}
int mul(int x, int y) {return 1ll * x * y % mod;
}
int fp(int a, int p) {int base = 1;while(p) {if(p & 1) base = mul(base, a);a = mul(a, a); p >>= 1;}return base;
}
void sieve(int N) {vis[1] = 1; mu[1] = 1;for(int i = 2; i <= N; i++) {if(!vis[i]) prime[++tot] = i, mu[i] = -1;for(int j = 1; j <= tot && i * prime[j] <= N; j++) {vis[i * prime[j]] = 1;if(!(i % prime[j])) {mu[i * prime[j]] = 0; break;}else mu[i * prime[j]] = -mu[i];}}for(int i = 1; i <= tot; i++) for(LL j = prime[i]; j <= N; j *= prime[i])f[j] =prime[i];for(int i = 1; i <= N; i++) if(!f[i]) f[i] = 1;
}
signed main() {cin >> N >> M;sieve(1e7 + 5e6);//for(int i = 1; i <= 100; i++) printf("%d %d\n", i, f[i]);int ans = 1;for(int i = 1; i <= N; i++) {if(f[i] == 1) continue;ans = mul(ans, fp(f[i], 1ll * (N / i) * (M / i) % mod2));}cout << ans;return 0;
}
/*
100000 50000 200 300
100 2 1 1
*/
转载于:https://www.cnblogs.com/zwfymqz/p/10221710.html
Hackerrank GCD Product(莫比乌斯反演)相关推荐
- P2257 YY的GCD (莫比乌斯反演)
[题目链接] https://www.luogu.org/problemnew/show/P2257 // luogu-judger-enable-o2 /* -------------------- ...
- P2257-YY的GCD【莫比乌斯反演】
正题 题目链接:https://www.luogu.com.cn/problem/P2257 题目大意 给出n,mn,mn,m,求∑i=1n∑j=1m[gcd(i,j)∈p]\sum_{i=1}^n\ ...
- hdu1695 GCD(莫比乌斯反演)
题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌 ...
- 【bzoj 2820】YY的GCD(莫比乌斯反演)
传送门biu~ 参考博客:莫比乌斯反演 #include<bits/stdc++.h> #define N 10000000 using namespace std; int T,n,m, ...
- Luogu P6055 [RC-02] GCD(莫比乌斯反演,杜教筛)(这题乐死我了,真就图一乐呗)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P6055 Prob ...
- Zap与YY的GCD(莫比乌斯反演)
Bzoj1101: Zap 题目大意:求多少对x,y使得gcd(x,y)=d,x<=m,y<=n. 首先将范围都除以d,这样相当于求gcd(x,y)==1的个数. 莫比乌斯函数一个很重要的 ...
- P4450-双亲数,P5221-Product,P6055-[RC-02]GCD【莫比乌斯反演,杜教筛】
除了最后一题都比较简单就写一起了 P4450-双亲数 题目链接:https://www.luogu.com.cn/problem/P4450 题目大意 给出A,B,dA,B,dA,B,d求有多少对(a ...
- bzoj 2820: YY的GCD(莫比乌斯反演)
2820: YY的GCD Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2111 Solved: 1137 [Submit][Status][Di ...
- BZOJ 2820 YY的GCD(莫比乌斯反演)
Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对,kAc这种傻×必 ...
最新文章
- java sleep方法_百战程序员:java线程的休眠和回复
- Rsync的使用方法
- 2018暑假第一周总结(7.9-7.15)
- JDK1.7 深入理解 LinkedHashMap
- 数据可视化的基础知识·翻译完成
- 【算法】栈实现综合表达式计算
- linux上的一些命令
- 为什么 Netflix 这么强?网飞 CEO 哈斯廷斯跟陆奇摊牌了
- 利用idea构建hibernate
- css background 旋转_纯CSS画小电视
- Visio使用技巧备忘录
- 【学习目录】天天生鲜项目页面设计
- 坚果pro2官方rom_锤子坚果Pro2刷机包_原版升级包 锤子坚果Pro2线刷包_官方固件rom包下载...
- VS2010应用程序的打包与图标设置
- 电脑桌面图标有阴影怎么办
- PageRank 笔记
- html文标题党,教你成为微信公众号推文标题党
- 学习博客:【JavaScript】jQuery
- 上网课的心得体会1000字_大学生上网课心得体会
- mysql 索引使用测试(group by、order by)