GCD XOR UVA 12716 找规律 给定一个n,找多少对(a,b)满足1<=b<=a<=n,gcd(a,b)=a^b;
2024-09-24 17:12:57
/**
题目:GCD XOR UVA 12716
链接:https://vjudge.net/problem/UVA-12716
题意:给定一个n,找多少对(a,b)满足1<=b<=a<=n,gcd(a,b)=a^b;
思路:
打表找规律发现:满足条件的结果一定满足,gcd(a,b) = a-b; 即:先确定每一个a以及它的约数c可以获得,b = a-c; 如果a^b=c 那么满足。 时间复杂度nlg(n)
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <set>
#include <vector>
#include <cmath>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int inf = 0x3f3f3f3f;
const int maxn = 3e7+;
const double eps = 1e-;
ll f[maxn];
void init()
{
memset(f, , sizeof f);
for(int i = ; i <= maxn/; i++){
for(int j = i*; j < maxn; j+=i){
int b = j-i;
if((j^b)==i){
f[j]++;
}
}
}
for(int i = ; i < maxn; i++) f[i] += f[i-];
}
int main()
{
int n;
int T, cas=;
init();
cin>>T;
while(T--){
scanf("%d",&n);
printf("Case %d: %lld\n",cas++,f[n]);
}
return ;
}
最新文章
- PHP错误以及异常处理
- [BZOJ3173][Tjoi2013]最长上升子序列
- Centos下MySQL使用总结
- Spring3系列4-多个配置文件的整合
- jquery实现";跳到底部";,";回到顶部";效果
- [cdoj1380] Xiper的奇妙历险(3) (八数码问题 bfs + 预处理)
- ORACLE查看当前连接用户的权限信息或者角色信息
- iOS推送介绍
- 警报C++精密整数除法计算损失
- 【CSS学习笔记】初始化CSS后,写li,并利用背景图片,来完成li小图标的效果,且达到个浏览器兼容
- DELL EqualLogic PS存储硬盘故障数据恢复成功案例分享
- 分布式进阶(八)Linux提示Unable to locate package该如何处理?
- LeetCode算法题-Merge Two Binary Trees(Java实现)
- 前端入门5-CSS弹性布局flex
- 如何相互转换逗号分隔的字符串和List【转】
- C语言的基础输入输出
- 变量[^_^][T_T]
- 强化学习10-Deep Q Learning-fix target
- VB6 内存释放
- 谷歌地图api 开发 (转载)
热门文章
- java--模板方法模式
- 【Git】GitHub for Windows使用(3) GitHub Flow的使用
- Go测试,功能测试,性能测试,测试辅助,go test 工具,高级测试,IO相关测试,黑盒测试,HTTP测试,进程测试
- C++之重载操作符
- scrapy-splash抓取动态数据例子十五
- git fetch 的简单用法:更新远程代码到本地仓库及冲突处理
- 【RabbitMQ 参考资料】
- 【FAQ】Ubuntu环境下ant编译android代码问题
- Laravel 学习 .env文件 getenv 获得环境变量的值
- lodash 判断相等 eq isEqual