【莫比乌斯反演】BZOJ2920-YY的GCD

news/2024/10/23 14:31:57/

【题目大意】

给定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


http://www.ppmy.cn/news/505727.html

相关文章

2920集五福_支付宝集五福攻略 ▏顺便学点营销活动传播套路

到今天为止&#xff0c;你一共收齐了几张福卡了呢&#xff1f; 本月5号&#xff0c;支付宝在微信公众号里发了《新年俗 集五福》的推文&#xff0c;“2月6日0点&#xff0c;支付宝里见&#xff0c;有你们就有福”。 同时&#xff0c;一名叫“青春、已不在”的网友立马在下方评论…

2920X

演讲不是讲自己的话&#xff0c;而是将听众的话&#xff0c;还记得那些演讲失败者&#xff0c;离开舞台的最后一段话&#xff0c;他们的感言就是我们失败的原因历史总是惊人的相似举例子是为了增加信服性历史是如此的悠久&#xff0c;还有什么故事不能符合我任何贪婪的意愿我的…

java多线程简明笔记(5)线程礼让 yield

关键字&#xff1a;yield 官方文档就不说了&#xff0c;简单理解&#xff0c;礼让 线程礼让 yield正在执行的线程暂停&#xff0c;不阻塞 示例代码&#xff1a; public class ThreadTest7 implements Runnable{public static void main(String[] args) {ThreadTest7 tnew Th…

雅思词汇真经单词共3672个

雅思词汇真经 / Vocabulary for IELTS / 学为贵 赢未来 / 英语真经派学习法 一本书精通雅思词汇 / 刘洪波 编著 / 涵盖&#xff1a;雅思必备核心词汇刘洪波老师原创雅思考点词库 逻辑词群记忆法&#xff0c;一群一群记单词&#xff0c;快速备考无负责 时尚插图&#xff0c;趣味…

大一上:英语复习:Word in use(新视野大学英语读写教程1:第一、三、四、六单元翻译+注释)【四大人工智能翻译辅助系统助力翻译更准确】

文档下载地址&#xff1a;https://pan.baidu.com/s/1qYDT6rU Word in use Unit 1 A 1.Given the chance to show his ability, he regained confidence and began to succeed in school. [自然智力神经系统翻译&#xff08;我翻译的&#xff09;]自从获得了…

智能家庭本周锋闻:小米进军移动医疗

投资九安医疗旗下iHealth智能血压仪&#xff0c;小米为何选择这个时间、进入这个领域&#xff1f;原因大概有这几点&#xff0c;首先可以借助国庆“送礼”时机&#xff1b;其次移动医疗切合小米的年轻用户群体敬老&#xff1b;再者移动医疗前景看好&#xff0c;且可搭配小米手机…

nginx主配置文件及实战案例

文章目录 一.nginx主配置文件nginx.conf1.认识nginx服务的主配置文件2.全局配置3.I/O事件配置4.HTTP配置&#xff15;.检查配置文件是否正确&#xff16;.浏览器测试&#xff17;.总配置文件图示&#xff17;.1 nginx总配置文件的三个模块&#xff17;.2 HTTP文件配置的图示&am…

【Appium实战】如何使用mumu模拟器模拟安卓手机

1&#xff09;下载Mumu模拟器&#xff08;就是网易那一款专门用来在电脑上打手机游戏的安卓模拟器&#xff09; 2&#xff09;运行Mumu模拟器 3&#xff09;在Mumu的安装目录下找到adb_server.exe&#xff0c;路径如下&#xff1a; 4&#xff09;CMD上 执行 adb connect 127…