好题难想
首先考虑\(x = 2^k\)怎么做,显然每次\(- 2^{k-1}\)即可
然后我们考虑对于\(x \neq 2^k\)怎么把他变成\(2^k\),答案就是\(x -= lowbit(x)\)
操作次数\(O(logn)\)的,\(< 1000\),正确性显然
好题难想
首先考虑\(x = 2^k\)怎么做,显然每次\(- 2^{k-1}\)即可
然后我们考虑对于\(x \neq 2^k\)怎么把他变成\(2^k\),答案就是\(x -= lowbit(x)\)
操作次数\(O(logn)\)的,\(< 1000\),正确性显然