Codeforces Round #613 (Div. 2) D - Dr. Evil Underscores(思维,位运算)

题目链接
题意:对于一个数组,求一个数字与数组每个元素异或之后的最大值最小,求这个最大值

思路:n个数从小到大排序后写成二进制形式,从高位向低位贪心,发现如果当前位的n个数中既出现了0又出现1,那么这个决策结果是当前位一定是1,否则是0。
高位到低位转移,如果当前高位全是0或1,那么直接转移,因为当前高位对答案无贡献。否则,取min(左边,右边) ^ (1 << 位数)。

AC代码

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务