【莫比乌斯反演】BZOJ2920-YY的GCD
【题目大意】
给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对。
【思路】
太神了这道题……蒟蒻只能放放题解:戳,明早再过来看看还会不会推导过程……
实用的结论:
嗯……
/**************************************************************Problem: 2820Language: C++Result: AcceptedTime:4164 msMemory:196600 kb ****************************************************************/#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int INF=0x7fffffff; const int MAXN=10000000+50; typedef long long ll; int miu[MAXN],g[MAXN],prime[MAXN],pnum=0; ll sum[MAXN]; int N,M;void get_miu(int maxn) {miu[1]=1;g[1]=0;sum[1]=sum[0]=0;for (int i=2;i<maxn;i++) miu[i]=-INF;for (int i=2;i<maxn;i++){if (miu[i]==-INF){miu[i]=-1;prime[++pnum]=i;g[i]=1;}for (int j=1;j<=pnum;j++){if (i*prime[j]>=maxn) break;if (i%prime[j]==0) {miu[i*prime[j]]=0;g[i*prime[j]]=miu[i];}else{miu[i*prime[j]]=-miu[i];g[i*prime[j]]=miu[i]-g[i];} }sum[i]=sum[i-1]+g[i];} } void get_ans() {ll ans=0; scanf("%d%d",&N,&M);if (N>M) swap(N,M);int pos;for (int t=1;t<=N;t=pos+1){pos=min(N/(N/t),M/(M/t));ans+=(ll)(sum[pos]-sum[t-1])*(N/t)*(M/t);}printf("%lld\n",ans); }int main() {get_miu(MAXN);int T;scanf("%d",&T);while (T--) get_ans();return 0; }
转载于:https://www.cnblogs.com/iiyiyi/p/5660048.html
【莫比乌斯反演】BZOJ2920-YY的GCD相关推荐
- BZOJ 2820 YY的GCD 莫比乌斯反演
2820: YY的GCD Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y) ...
- 【bzoj2820】YY的GCD 莫比乌斯反演
题目描述 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种 傻×必然不会了,于是 ...
- 洛谷P2257 YY的GCD 莫比乌斯函数反演+线性筛
洛谷P2257 YY的GCD 标签 莫比乌斯反演 线性筛 前言 这题貌似和莫反没多大关系,就是用到了一个莫比乌斯函数的性质了,其他就是推公式,优化和式. 我的第一道懵逼反演-真的好难好难-而且套路特别 ...
- P2257 YY的GCD (莫比乌斯反演)
[题目链接] https://www.luogu.org/problemnew/show/P2257 // luogu-judger-enable-o2 /* -------------------- ...
- BZOJ 2820 YY的GCD 莫比乌斯反演
题意:链接 方法:莫比乌斯反演 解析: 这题跟上一篇博客有一点差别,当然我们能够考虑枚举素数这个大暴力.只是当你A掉这道题后发现正解?都将近5s时.就放弃了这个念头. 相同的式子我们能够直接搬过来.p ...
- Zap与YY的GCD(莫比乌斯反演)
Bzoj1101: Zap 题目大意:求多少对x,y使得gcd(x,y)=d,x<=m,y<=n. 首先将范围都除以d,这样相当于求gcd(x,y)==1的个数. 莫比乌斯函数一个很重要的 ...
- acm-(数论、莫比乌斯反演)LuoGu P2257 YY的GCD
传送门 本题就是让求这样一个式子: ∑ i = 1 n ∑ j = 1 m [ g c d ( i , j ) i s p r i m e ] \sum_{i=1}^n\!\sum_{j=1}^m ...
- [洛谷P2257] YY的GCD (莫比乌斯反演)
YY的GCD 题目描述 神犇YY虐完数论后给傻×kAc出了一题 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对 kAc这种傻× ...
- bzoj 2820: YY的GCD(莫比乌斯反演)
2820: YY的GCD Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2111 Solved: 1137 [Submit][Status][Di ...
最新文章
- 深度学习11个实用技巧
- 将新主要功能部署到生产时要考虑的5件事情
- 时代中坚:互联网电视迎来极致时代
- Intent中的四个重要属性——Action、Data、Category、Extras
- java advance_JavaAdvance
- 程序片上(内)执行-nandFlash-norFlash
- AI深入应用,生态越加开放,开发者的机会在哪里?
- 运用R语言绘制火山图
- 7个顶级静态代码分析工具
- Django中的views
- 两个月的一些工作总结
- 奥特曼系列ol恶魔之花服务器,《奥特曼系列ol》依组麦鲁 培养攻略来袭
- 如何把视频语音转换成文字呢?
- 电脑操作精典秘籍60式【实用】
- 到底是加瓦好还是C好呢?
- 2018-2019-2 20165315《网络对抗技术》Exp7 网络欺诈防范
- 基于X11协议的Linux快捷键管理
- python——查找指定文件并复制到指定文件夹
- 移动互联时代的O2O营销革命
- PerfDog性能狗上手体验及总结分析