记录下所有的数字的二进制位的贡献,记为Sumbit[] Sumbit[i]表示有多少个数字二进制第i位为1 然后枚举每一个数字(假设是第a[x]) 如果该数字的某个二进制位为1(假设第j位),那么Sumbit[j]一定要等于sizeof(a[]), 因为如果a[0]&a[1]...&a[n-1]=a[x]的话,那么a[0]..a[n-1]的第j位就不能有0,只要有一个0那么&之后就是0。 如果该数字的第j位为0,那么Sumbit[j]一定要小于sizeof(a[])-2,就是说一定要有一个数第j位等于0 时间复杂度sizeof(a[])*32
点赞 评论

相关推荐

笑着秋招😊:我一直认为努力有回报是一件很幸福很幸福的事情,恭喜你
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务