题解 | #牛牛的xor#
牛牛的xor
https://ac.nowcoder.com/acm/problem/21298
很简单的一道题
用贡献法+贪心
对于每个数从高到低考虑 如果ans中这个位为0并且num值大于这个位转换成10进制 答案中加上
import sys
input=sys.stdin.readline
input()
nums=list(map(int,input().split()))
ans=0
for num in nums:
for i in range(num.bit_length()-1,-1,-1):
mask=(1<<i)
if not ans&mask and num>=mask:
ans|=mask
num-=mask
print(ans)
查看12道真题和解析