2017.6.5 YY的GCD 失败总结
这个题推式子还是比较正常的
要推式子 解这种题 需要抓住三个要点:
1、利用约数和倍数关系
2、换Σ
3、乘法优化加法(尽量往 商的值相同合并 上靠)、
注意:处理T的约数d的mu值和时不能用线筛直接求,因为线筛不一定遍历所有约数、
附上一段我的反例:
码:
#include<iostream>
#include<cstdio>
using namespace std;
#include<algorithm>
#include<cstring>
long long mu[10000005],qsum[10000005],su[10000005],tot,i,j,n,m,T;
bool he[10000005];
void eular()
{mu[1]=1;
// qsum[1]=1;//memset(qsum,1,sizeof(qsum));//cout<<qsum[1];for(i=2;i<=10000000;i++){ //qsum[i]++;if(!he[i]){//he[i]=1;su[++tot]=i;//if(i==7)cout<<"pp";mu[i]=-1;// qsum[i]+=mu[1]; }for(j=1;j<=tot&&su[j]*i<=10000000;j++){he[su[j]*i]=1;if(i%su[j]==0){mu[i*su[j]]=0;break;// qsum[i*su[j]]+=mu[i];// if(!he[i]&&i!=su[j])qsum[i*su[j]]+=mu[su[j]];}else {mu[i*su[j]]=-mu[i]; // qsum[i*su[j]]+=mu[i]; // if(!he[i]&&i!=su[j])qsum[i*su[j]]+=mu[su[j]];}//if(su[j]*i==42)cout<<su[j]<<" "<<mu[su[j]]<<endl; }}
}
long long work(int l,int r)
{long long ans=0;long long lin;if(l>r)swap(l,r);for(i=1;i<=l;i=lin+1){lin=min(l/(l/i),r/(r/i));ans+=(qsum[lin]-qsum[i-1])*(l/i)*(r/i);//cout<<ans<<" "<<i-1<<" ";}return ans;
}
int main()
{eular();for(i=1;i<=tot;i++)for(j=1;j*su[i]<=10000000;j++)qsum[j*su[i]]+=mu[j];for(i=1;i<=10000000;i++)qsum[i]+=qsum[i-1];scanf("%lld",&T);while(T--){scanf("%lld%lld",&n,&m);printf("%lld\n",work(n,m));}
}
2017.6.5 YY的GCD 失败总结相关推荐
- Visual Studio 2017启动x86的Android模拟器失败
Visual Studio 2017启动x86的Android模拟器失败 Visual Studio 2017默认提供多个Android模拟器.其中,x86模拟器运行较快.但是由于和Hyper-V服 ...
- BZOJ 2820 YY的GCD 莫比乌斯反演
2820: YY的GCD Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y) ...
- P2257 YY的GCD
P2257 YY的GCD 题意: 求 1≤x≤N,1≤y≤M1 \leq x \leq N,1 \leq y \leq M1≤x≤N,1≤y≤M 且gcd(x, y) 为质数的 (x,y) 有多少对. ...
- 洛谷 P2257 YY的GCD
YY的GCD 题目描述 神犇YY虐完数论后给傻×kAc出了一题 给定\(N\), \(M\) ,求\(1 \le x \le N,1 \le y \le M\)且\(gcd(x, y)\)为质数的\( ...
- BZOJ 2820: YY的GCD
2820: YY的GCD Time Limit: 10 Sec Memory Limit: 512 MB Submit: 1705 Solved: 908 [Submit][Status][Dis ...
- [洛谷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 ...
- [ bzoj2820] YY的GCD
[ bzoj2820] YY的GCD Time Limit : 3000 ms Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<= ...
- 【BZOJ 2820】YY的GCD
[BZOJ 2820]YY的GCD Problem Description 给定\(N\), \(M\),求\(1\le x\le N\), \(1\le y\le M\) 且 \(gcd(x,y)\ ...
最新文章
- 假如王撕葱是程序员......
- 《动手学深度学习》PyTorch版GitHub资源
- java POI Excel 单元格样式
- java大文件 索引_JAVA 大文件上传解决方案(500M以上)
- 正则替换文章图片路径,并跳过远程连接的图片
- 部署node_如何使用 docker 高效部署 Node 应用
- 【Scratch】青少年蓝桥杯_每日一题_3.23_骰子
- html表单中的数据提交后清空,怎么实现小程序中表单提交后自动清空内容
- SAP Spartacus SSR模式启用失败的一个原因:SSR rendering exceeded timeout
- idea启动java Maven项目,出现“ java: 程序包xxxx不存在“
- mysql 集群架构_mysql企业常用集群架构
- c语言简答程序源代码,C语言简答题答案
- python3.7操作kafka_python操作kafka
- 苹果发布会预示了什么?
- QTTabBar功能是灰色,无法启用的解决办法
- 深入理解CSS动画animation
- CIKM 2022 | HGANDTI: 药物-靶点相互作用预测的异构图注意网络
- excel分类_Excel 的10个神奇功能,你会用几个?
- 618蓝牙耳机选哪一款比较好?推荐口碑最好的无线蓝牙耳机品牌
- 中国房价走势分析——基础数据收集
热门文章
- mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改
- Kotlin学习笔记 第三章 函数 高阶函数 lambda表达式 内联函数
- PyCharm将制表符转换为空格并显示的配置方法
- python字符串查找某个字符_python的字符串
- 编写一个watchdog.sh脚本_拍摄Vlog,如何构思和编写脚本?
- 配置多个git账号_一台电脑,两个及多个git账号配置
- oracle x ksppi,求 x$ksppi 和x$ksppcv 得详细解释
- linux系统 远程桌面连接到服务器,Ubuntu 14.04服务器远程桌面连接
- php怎么上传函数,【后端开辟】php上传函数怎样封装
- jupyter 代码提示_Jupyter lab安装R支持时错误提示: exited with code 127解决办法