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

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

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

AC代码

发布了70 篇原创文章 · 获赞 13 · 访问量 3635

猜你喜欢

转载自blog.csdn.net/weixin_44412226/article/details/104033689
今日推荐