UVA12716 GCD XOR
来源:互联网 发布:ip地址切换软件 编辑:程序博客网 时间:2024/06/06 20:55
本题借鉴了刘汝佳的思路和别人的博客,刚开始尝试用gcd来判断,时间特别长,没成功,最后选择了判断a^b==c的方法
解题关键:
1.若a^b=c,则a^c=b;(a^a=0,b^0=b)
2.若gcd(a,b)=a^b=c,则a-b=c;
解题思路:
打表枚举的时候不能按照a来枚举,否则一定会超时,应该按照c来枚举,因为c是a 的约数,而c!=a,所以a至少是a=2*c,这样c的上限就是maxn>>1了。
/************************************************************************* > File Name: UVA12716.cpp > Author: Mrhanice > Mail: 690697134@qq.com > Created Time: 20170305 > link : https://vjudge.net/problem/UVA-12716************************************************************************/#include <cstdio>#include <iostream>#include <cstring>using namespace std;const int maxn=30000000;int result[maxn+10];void init(){ int n=maxn>>1; for(int c=1;c<=n;c++) { for(int a=c+c;a<=maxn;a+=c)//按照c来枚举 { int b=a-c; if((a^b)==c)//判断 result[a]++; } } for(int i=2;i<=maxn;i++)//将n之前的全部加起来。 result[i]+=result[i-1];}int main(){ init(); int t,n,cnt=0; cin >> t; while(t--) { cin >> n; printf("Case %d: %d\n",++cnt,result[n]); } return 0;}
0 0
- Uva12716:GCD XOR
- UVA12716 GCD XOR
- UVa12716 GCD XOR
- UVa12716 GCD XOR
- uva12716 GCD XOR
- UVA12716 GCD XOR
- 数论--uva12716 GCD XOR
- UVA12716 GCD XOR 数论数学构造
- UVA12716 GCD XOR 数论数学构造
- 例题10-5 GCD等于XOR UVa12716
- UVa12716 - GCD XOR(数论数学构造)
- uva12716 GCD XOR(打表找规律+筛法)
- uva12716 GCD等于XOR 筛法枚举
- 例题10-5 GCD等于XOR UVa12716
- 数学方法(GCD XOR Uva12716)
- UVA12716 GCD等于XOR 数论 枚举
- 【数论】GCD XOR, ACM/ICPC Dhaka 2013, UVa12716 【异或】【好题】
- UVa12716
- Kafka接收消息(Consumer)
- SQL Server 数据库基本操作——创建修改数据库
- Python 爬虫学习2爬取租房网站信息
- 算法小口诀
- Oracle的客户端工具
- UVA12716 GCD XOR
- Linux入门---服务器选择Linux还是Windows
- Linux下面使用rpm命令
- 奖券数目
- 理解《Deep Forest: Towards An Alternative to Deep Neural Network》
- 再谈机器学习中的归一化方法(Normalization Method)
- 深入简出的ngin
- 机器学习之优化算法——爬山法
- 欢迎使用CSDN-markdown编辑器