【JZOJ4714】公约数
2016-08-19 21:54
323 查看
JZOJ链接
数学题果然思路很重要,我比赛时智商不足,需要再缓一会儿(>﹏<)
显然,当a=b时无解。
假设a>b,注意到Gcd的性质:
①Gcd(a,b)≤a−b(什么瘠薄性质,我比赛没往这方面想)
a xor b≤a−b
那么如果Gcd(a,b)=a xor b
则有Gcd(a,b)=a−b=a xor b
于是我们就有思路了
设一个数k=a-b,枚举k
枚举K同时设A=K*i
因为Gcd(A,A-K)=K,然后我们只需要检测A xor K是否等于A-K即可
时间复杂度O(NlogN)
代码贼短
数学题果然思路很重要,我比赛时智商不足,需要再缓一会儿(>﹏<)
显然,当a=b时无解。
假设a>b,注意到Gcd的性质:
①Gcd(a,b)≤a−b(什么瘠薄性质,我比赛没往这方面想)
a xor b≤a−b
那么如果Gcd(a,b)=a xor b
则有Gcd(a,b)=a−b=a xor b
于是我们就有思路了
设一个数k=a-b,枚举k
枚举K同时设A=K*i
因为Gcd(A,A-K)=K,然后我们只需要检测A xor K是否等于A-K即可
时间复杂度O(NlogN)
代码贼短
var n,i,k,x,ans:longint; begin readln(n); ans:=0; for i := 1 to n-1 do begin k:=2; while i*k<=n do begin x:=i*k; if x xor i=x-i then inc(ans); inc(k); end; end; writeln(ans); end.
相关文章推荐
- JZOJ 4714 【NOIP2016提高A组模拟8.19】公约数
- Jzoj4714 公约数
- 【JZOJ 4714】 公约数
- 【挖坑记】JZOJ 4714 公约数
- JZOJ4714公约数
- JZOJ.4714【NOIP2016提高A组模拟8.19】公约数
- JZOJ 4714 公约数
- [JZOJ 4714]【NOIP2016提高A组模拟8.19】公约数
- JZOJ4714公约数 找规律
- 【JZOJ 4714】公约数
- 【jzoj4714】【公约数】【数论】
- JZOJ3577. 【CEOI2011】Traffic
- jzoj 1916. 【2011集训队出题】飞飞侠
- JZOJsenior2182.【中山市选2009】小明的游戏
- JZOJ 2308. 【中山市选2011】聚会
- JZOJ 3990 分配
- 【省选专题一】图论 jzoj 3290【JSOI2013】吃货JYY 状压dp+欧拉回路
- [JZOJ5522] 图
- JZOJsenior3190.【中山市选2013】蓄养
- JZOJ 5516 Function