紫书数论例题10-5 uva 12716 找规律
来源:互联网 发布:如何关闭淘宝手机店铺 编辑:程序博客网 时间:2024/04/28 15:53
题意:
输入整数n(1<=n<=3千万),有多少对整数(a,b)满足:1<=b<=a<=n,且gcd(a,b)=a XOR b。例如:n=7时,有4对:(3,2),(5,4),(6,4),(7,6)。
题解:
首先打表找规律,发现c=a-b
因为c是a的因数
要保证计算量尽量小,如果枚举a,就要枚举a的所有因数,有些数因为可能是多个数的因数,会被重复考虑很多次。所以这里要枚举因数 c ,a = k × c(k >= 2) 这样每个因数只枚举一遍,再检验b。
参考:http://www.cnblogs.com/naturepengchen/articles/3952145.html
注意算完后前缀和一下,因为题目要的n之前所有的整数对
代码:
#include <iostream>#include <cstdio>using namespace std;const int maxn = 3e7;int f[maxn+5];void solve(){ for(int c=1;c<=maxn/2;c++) for(int a=2*c;a<=maxn;a+=c) { int b = a-c; if((a^b)==c) { f[a]++; } } for(int i=3;i<=maxn;i++) f[i]+=f[i-1];}int main(){ solve(); int T; cin>>T; long long n; int k=1; while(T--) { cin>>n; printf("Case %d: %d\n",k++,f[n]); } return 0;}
阅读全文
0 0
- 紫书数论例题10-5 uva 12716 找规律
- 第一章例题10正整数序列UVa 11384(找规律)
- UVA 12627 <递归找规律,紫书p245页例题>
- 找规律(约瑟夫的数论问题,uva 1363)
- 【数论 && 找规律】UVA 11752 The Super Powers
- 【数论 && 找规律】LightOJ
- UVA 12716 GCD XOR (数论,规律)
- uva--10714+找规律
- UVA 1620(找规律)
- 紫书章六例题六 小球下落 (UVA 679) (直接模拟超时,找规律)
- 紫书例题 10-8 Uva 1262
- 紫书例题 10-26 UVa 11440
- 紫书搜索 例题7-10 UVA
- 紫书搜索 例题7-5 UVA
- uva 10479(找规律+递归)
- Joseph's Problem 数论 找规律
- BZOJ1432(ZJOI2009)[Function]题解--找规律||数论
- UVa 10229 - Modular Fibonacci(数论,规律)
- 表与表之间的关系(转载)
- hihoCoder #1558 : H国的身份证号码I
- <textarea>标签空格问题
- A Spy in the Metro UVA
- 关于跨域中document.domain的设置问题
- 紫书数论例题10-5 uva 12716 找规律
- struts-错误处理
- Linux下memcache安装及使用
- 表单
- html模板生成静态页面及模板分页处理
- 96. Unique Binary Search Trees(通过观察递推式意思找递推关系)
- web.xml較好的頭文件
- JZOJsenior3455.【NOIP2013模拟联考3】库特的向量(code)
- Java 入门知识