【BZOJ2820】ygy的gcd
不知道为什么不想写总结,只是(因为是用别人的权限号交的所以)屯一个代码
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 #define ll long long 8 const ll inf=(ll)2e9; 9 ll rd(){ll z=0,mk=1; char ch=getchar(); 10 while(ch<'0'||ch>'9'){if(ch=='-')mk=-1; ch=getchar();} 11 while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0'; ch=getchar();} 12 return z*mk; 13 } 14 void wt(ll x){if(x<0) putchar('-'),x=-x; 15 int wtp=0; char wtc[52]; 16 while(x) wtc[++wtp]=(x%10)+'0',x/=10; 17 while(wtp) putchar(wtc[wtp--]); 18 } 19 int n,m; 20 int miu[11000000],prm[11000000],prp=0; bool prg[11000000]; 21 ll f[11000000],s[11000000]; 22 void gtmiu(){ 23 memset(prg,0,sizeof(prg)); 24 miu[1]=1; 25 for(int i=2;i<=10000000;++i){ 26 if(!prg[i]) prm[++prp]=i,miu[i]=-1; 27 for(int j=1;j<=prp && prm[j]*i<=10000000;++j){ 28 prg[i*prm[j]]=true; 29 if(!(i%prm[j])){ miu[i*prm[j]]=0; break;} 30 miu[i*prm[j]]=-miu[i]; 31 } 32 } 33 for(int i=1;i<=prp;++i)for(int j=1;j*prm[i]<=10000000;++j) 34 f[j*prm[i]]+=miu[j]; 35 for(int i=1;i<=10000000;++i) s[i]=s[i-1]+f[i]; 36 } 37 int main(){ 38 //freopen("ddd.in","r",stdin); 39 gtmiu(); 40 int T; cin>>T; while(T--){ 41 n=rd(),m=rd(); 42 ll ans=0; 43 if(n>m) swap(n,m); 44 for(int i=1,j;i<=n;i=j+1){ 45 j=min(n/(n/i),m/(m/i)); 46 ans+=(s[j]-s[i-1])*(n/i)*(m/i); 47 } 48 wt(ans),putchar('\n'); 49 continue; 50 } 51 return 0; 52 }
View Code
转载于:https://www.cnblogs.com/JSL2018/p/6789464.html
【BZOJ2820】ygy的gcd相关推荐
- [ bzoj2820] YY的GCD
[ bzoj2820] YY的GCD Time Limit : 3000 ms Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<= ...
- Bzoj-2820 YY的GCD Mobius反演,分块
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2820 题意:多次询问,求1<=x<=N, 1<=y<=M且gcd( ...
- bzoj2820: YY的GCD
题意 给定\(n,m(1 \leqslant n,m \leqslant 10000000)\),求\(1\leqslant x \leqslant n\), \(1 \leqslant y \leq ...
- [BZOJ2820]YY的GCD
题目大意: 对于给定的$n,m(n,m\leq10^7)$,求$为质数\displaystyle\sum_{x=1}^n\sum_{y=1}^m[\gcd(x,y)为质数]$. 思路: 设$p=\gc ...
- bzoj2820 [bzoj2820]YY的GCD(线性素数筛+莫比乌斯反演)
求gcd(i,j)为质数的个数.即 ∑p∑i=1n∑j=1mgcd(i,j)==p \sum\limits_p\sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j ...
- 【莫比乌斯反演】BZOJ2820 YY的GCD
题面在这里 与这道题类似. 先考虑枚举质数p,答案就是: ∑p∑dμ(d)⌊npd⌋⌊mpd⌋ \sum_p \sum_d \mu(d) \lfloor \frac n {pd} \rfloor \l ...
- Mobius反演方法
<更新提示> 前置知识:建议有一点DirichletDirichletDirichlet卷积的基础,会线性筛求积性函数.本文可能会持续更新. 可以看我以前在博客园的博客. <正文&g ...
- GOOD BYE OI
大米饼正式退役了,OI给我带来很多东西 我会的数学知识基本都在下面了 博客园的评论区问题如果我看到了应该是会尽力回答的... 这也是我作为一个OIer最后一次讲课的讲稿 20190731 多项式乘法 ...
- 并不对劲的bzoj2820:p2257:YY的GCD
题目大意 \(t\)(\(t\leq10^4\))组数据,给定\(n,m\)(\(n,m\leq10^6\))求 \[\sum_{x=1}^{n}\sum_{y=1}^{m}[gcd(x,y)=1]\ ...
最新文章
- Zbrush2021写实人物肖像雕刻学习教程
- 集合转换Stream流式操作
- java版数据结构解迷宫问题_C语言数据结构之迷宫问题
- 详解CockroachDB事务处理系统
- P7295-[USACO21JAN]Paint by Letters P【平面图欧拉公式】
- cannot find output in imported module librosa报错解决
- Week06-接口、内部类
- 《如何搭建小微企业风控模型》第五节 特征工程(上)
- MFC中打开一个获取路径的对话框
- carmaker/matlab联合仿真(一) 新建工程,运行自带example
- php将日期转为时间戳,php将指定日期转换为时间戳的方法
- Chip-seq分析笔记
- linux 修改文件类型
- 秀米排版一篇文章,简简单单
- 回望2022,依然值得仰望星空
- 计算机线连接方法,手机和电脑的常用连接方法比较
- 基于matlab 非局部均值(NLM)滤波图像去噪
- Blender遇到的一些莫名其妙的问题
- HDU1273漫步森林
- 使用CRM客户关系管理软件有哪些优势?