UVA-12716 - GCD XOR
【思路】a^b = c等价于a^c = b 所以枚举a和c,而a和c全部枚举肯定TLE,所以高效算法:通过c是a的约数这个关系来枚举会减小循环,必须要将c放在循环外面,因为c的情况比较少。其实本题就是要求:c=a-b(规律),c=a^b
以下是高神的AC代码,很好很强大:
#include <cstdio>
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
#define maxn 30000000
int s[30000000+10];
int init(){int sum = 0;for(int c = 1; c <= maxn/2; c++){ //类似素数筛选法for(int a = c+c ; a <= maxn ; a += c){int b = a - c;if((a ^ b) == c)s[a]++; // a 所满足的所有可能。 因为 a < n 在求 n的时候 要把前n项全部加起来}}for(int i = 2; i <= maxn; i++) //前i个一共有多少,真是巧妙s[i] += s[i-1];
}
int main (){int counts = 0,num;scanf("%d",&num);init();while(num--){int n;scanf("%d",&n);printf("Case %d: %d\n",++counts,s[n]);}return 0;
}
UVA-12716 - GCD XOR相关推荐
- UVA 12716 GCD XOR(数论+枚举+打表)
题意:给你一个N,让你求有多少组A,B, 满足1<= B <= A <= N, 且 gcd(A,B) = A XOR B. 思路:首先我们能够得出两个结论: A-B > ...
- UVA12716 LA6657 GCD XOR【GCD+位运算+前缀和】
Given an integer N, find how many pairs (A, B) are there such that: gcd(A, B) = A xor B where 1 ≤ B ...
- #题目:GCD XOR UVA - 12716
题目描述 Given an integer N, find how many pairs (A, B) are there such that: gcd(A, B) = A xor B where 1 ...
- GCD XOR UVA - 12716 ——筛法建立约数表+xor运算+数学规律
Think: 1埃式筛法思想建立约数表 2初始打表寻找运算的数学规律 3xor运算(不带进位的二进制加法) 运算法则 1. a ⊕ a = 0 2. a ⊕ b = b ⊕ a 3. a ⊕b ⊕ c ...
- uvalive 6657 GCD XOR
//感觉太长时间没做题 好多基本的能力都丧失了(>_<) 首先大概是这样的,因为gcd(a,b)=c,所以a,b都是c的倍数,所以我们依次枚举a的值为2c 3c 4c......,a xo ...
- UVa 11388 - GCD LCM
题目大意:给出两个数的最大公约数G和最小公倍数L,求出这两个数. 根据a*b = GCD * LCM,然后枚举判断就好了. 1 #include <cstdio> 2 typedef un ...
- UVa 11889 (GCD) Benefit
好吧,被大白书上的入门题给卡了.=_=|| 已知LCM(A, B) = C,已知A和C,求最小的B 一开始我想当然地以为B = C / A,后来发现这时候的B不一定满足gcd(A, B) = 1 A要 ...
- UVALive 6657 GCD XOR
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=48739 题解:打表可知,gcd(a,b)==a^b时,假设a^b= ...
- LA 6657 GCD XOR
题目https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pro ...
- UVALive 6657 GCD XOR 异或,因子筛法
对每个数字,求他的因子. 由于i^j >= i-j ,而目前需要得到的是公约数k,因此已知i,已知k,j只能等于i-k,然后判断 i^j == k 是否成立. 当然我不是这么过的.我算出i ...
最新文章
- Android之Fragment使用简介
- 巴特沃斯滤波器应用场合_巴特沃斯数字低通滤波器设计及应用
- valid, satisfiable, unsatisfiable的例子
- Java历程-初学篇 Day05选择结构(2)
- 1.Rabbitmq学习记录《本质介绍,协议AMQP分析》
- python芙蓉数用abs函数_Python调用OpenCV阈值化
- 判断数据类型的几种方法
- 油猴GM_download使用及下载扩展名flac,油猴脚本修改下载扩展名
- 十五届恩智浦智能车杀青
- VMware Workstation 虚拟机安装windows 10 系统步骤
- 飞浆AI studio人工智能课程学习(2)-Prompt优化思路|十个技巧高效优化Prompt|迭代法|Trick法|通用法|工具辅助
- 网络和IP地址计算器
- 是谁在我的心里打了个结(七)投标书
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- getchar();吸收回车符
- 360新闻api,通过关键字检索最新新闻动态
- java 在数组末尾添加元素和在任意位置删除元素
- 支持python的量化交易平台
- cv2报错:Problematic frame: C [cv2.cpython-36m-x86_64-linux-gnu.so+0xcd0696]
- libsodium引用报错FileNotFoundError: [Errno 2] No such file or directory: b‘liblibsodium.a‘