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 ...
最新文章
- keras中的fit函数参数_keras的fit_generator与callback函数
- 网络编程学习笔记(IPv4套接口选项)
- Mac 远程命令工具
- mongodb的文档游标
- 日常一些需要搜索,需要花功夫但又简单的东西 此文会持续更新
- 有效解决vue动态绑定多个class的官方实例语法无效的问题
- SkinSharp破解版与模版皮肤下载与使用
- R 修改安装包默认存放位置的方法
- avr+开发环境+linux,菜鸟的avr-gcc for linux 安装过程
- ThinkPHP内核全行业小程序运营管理系统源码 自由DIY布局 一键生成小程序
- performSelector一系列方法调用和延时调用导致的内存泄露
- 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备
- 基于ocanvas.js的饼图实例展示
- NVR-网络视频录像机
- asp 和 html 婚鞋,几招教会你搭配出完美婚鞋
- 【招聘(南京)】 慧咨环球南京研发中心 .NET和Blazor 前端
- 运用NaviCat进行MongoDB查询管道操作索引等操作
- 应广单片机_呼吸灯理解
- 【Python游戏】Python魔塔样板,自带Demo游戏内容(Powered by Pygame)| 附带源码
- Elasticsearch的原理详解和使用
热门文章
- Internet协议栈 TCP/IP模型 、以太网封装以及解封装过程、物理层、链路层、网络层、传输层、应用层的作用 OSI七层模型
- jsp页面显示超链接的时候关于路径得问题——jsp无法实现页面跳转问题 总结
- Oracle Form二次开发实战总结 调用Form
- iOS之UITextField怎么自定义键盘的return键
- 浅析供应链金融及未来发展前景
- iPad 2下月登陆香港 水货应声降价
- SMO的MSDN文档
- python输出宽度是什么意思_Python输出长度
- 准备软硬件openGauss安装环境
- SpringBoot配置redis集群(Jedis and lettuce)