题解 | #x?y?n!#
x?y?n!
https://ac.nowcoder.com/acm/contest/120562/F
解题思路:已知gcd(x,y)=n。
有|x-y|<=x⊕y,x和y为n的倍数,则x⊕y最小值为n。
想让x⊕y=n,可以使x=n*(2^r),y=n*(2^r+1),当且仅当x&n=0时r满足。
此题也可直接使r=31,使x的二进制位一定与n无交集,得到x,y。
解题代码:
x?y?n!
https://ac.nowcoder.com/acm/contest/120562/F
解题思路:已知gcd(x,y)=n。
有|x-y|<=x⊕y,x和y为n的倍数,则x⊕y最小值为n。
想让x⊕y=n,可以使x=n*(2^r),y=n*(2^r+1),当且仅当x&n=0时r满足。
此题也可直接使r=31,使x的二进制位一定与n无交集,得到x,y。
解题代码:
相关推荐