Problem
统计$a, b \in [1, n] (a \leq b)$中,有多少个数对$(a, b)$满足$gcd(a, b) = a \bigoplus b$
Solution
来一波XCY的证明
如果$gcd(a, b) = a \oplus b$,那么$a \oplus b = b - a$
又$\because xor$有一个性质:
$|a - b| \leq a \oplus b \leq a + b$
$\therefore a \oplus b = b - a$
所以我们只要找到所有$a \oplus b = b - a$的情况,那么我们再判断一下$gcd(a, b) = a \oplus b$即可
Code
1 |
|