记录下所有的数字的二进制位的贡献,记为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
点赞 评论

相关推荐

迷茫的大四🐶:自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞 评论 收藏
分享
牛客网
牛客企业服务