https://www.hackerrank.com/contests/w1/challenges/maximizing-xor/

找了半天规律,答案竟然是暴力,伤感。我找到的方法是利用规律2^x XOR 2^x - 1会最大,感觉稍微效率高点。

int maxXor(int l, int r) {if (l == r)return 0;int p = 1;for (int i = 0; i <= 10; i++) {if (p * 2 > r)break;p *= 2;}if (p - 1 >= l)return (p - 1) ^ p;elsereturn maxXor(l - p, r - p);
}

但事实上有个O(1)的方法:https://www.hackerrank.com/challenges/maximizing-xor/forum/questions/5407   @UlyssesB

2^((L XOR R).bit_length) - 1

其实和我的方法类似,但更高效。就是找出L和R最左边第一个不同的bit,那么之后的部分,肯定有个从类似7=>8 的过程,必然能得到15。

转载于:https://www.cnblogs.com/lautsie/p/3915928.html

*[hackerrank]Maximizing XOR相关推荐

  1. 【Codeforces/HDU】76A Plus and xor / 2095 find your present (2)(异或)。

    http://codeforces.com/contest/76/problem/D A = X + Y B = X xor Y 异或(不进位加法):两个二进制数,对应的位置上,相同为0,不同为1 性 ...

  2. 感知机搞不定逻辑XOR?Science新研究表示人脑单个神经元就能做到

    机器之心报道 参与:思源.张倩 长期以来,人们一直认为,要让神经网络解决「异或」问题就必须构造多层感知机,单个神经元是做不到的,这一认知使得神经网络的研究第一次进入寒冬.但最近的一项 Science ...

  3. 牛客练习赛32 -- Xor Path

    题解: 首先我们知道,一个点肯定不可能只出现一次的,他会出现好多次,但是根据二进制 a xor a =0 a xor a xor a =a 所以我们发现当某个点出现的次数为偶数次时,这个点相当于没有出 ...

  4. 可持久化Trie+堆优化 OR Trie树上求XOR第K大 ---- P5283 [十二省联考2019]异或粽子

    题目大意 题目大意: 考虑先做个 prefix xor 前缀异或bi=⨁j=1iaj(1≤i≤n)b_i=\bigoplus_{j=1}^{i}a_j(1\leq i \leq n)bi​=j=1⨁i ...

  5. 线段树 ---- 牛客多校4 ETree Xor 区间异或分段

    题目链接 题目大意: 就是给你nnn个节点的树,树上每个节点都有一个权值wi∈[li,ri]w_i\in[l_i,r_i]wi​∈[li​,ri​],以及相邻(u,v)(u,v)(u,v)的异或值wu ...

  6. HDU3949 XOR (线性基、查找第k小值)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 我们用高斯消元求出的a1,a2,-,ana_1,a_2, \dots,a_na1​,a2​,-,an​ ...

  7. P2574 XOR的艺术(线段树)

    P2574 XOR的艺术 主要是把区间修改变成 XOR 注意 tag 下放的条件是 tag 为 1 时才需要加(加用XOR实现). 区间和只需要反转为 原来 1 的个数 sum = len, 现在 s ...

  8. LeetCode 421. Maximum XOR of Two Numbers in an Array--Python解法

    LeetCode 421. Maximum XOR of Two Numbers in an Array–C++,Python解法 LeetCode题解专栏:LeetCode题解 我做的所有的Leet ...

  9. HackerRank:JavaScript 是最知名的编程语言

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   HackerRank 于昨日发布了 2019 年版的年度<开发者技能报告>,报告调查了来自 100 多个国家的 71000 余名 ...

最新文章

  1. squid正反向代理-加快网站访问速度
  2. spark源码解析之scala基本语法
  3. 如何使用应用日志(Application Log)
  4. java立方表示方法
  5. Java_01_Java读取Properties
  6. Vue (响应式原理-模拟-3-Compiler)
  7. 表单提交中文乱码_Java学习路线分享如何处理中文参数
  8. 51单片机实现c语言字母滚动,基于51单片机的led点阵滚动显示上下左右c语言程序.docx...
  9. Tensorflow实现简单的手写数字神经网络模型
  10. LayaAir 图集动画2—动画运用
  11. java android实例_Android开发精典案例60个
  12. 世界最早投入运行的计算机网络是,世界上最早投入运行的计算机网络是。
  13. LaTeX各种算法排版
  14. 【informix】informix 日期字段
  15. flutter Image.network()网络图片加载失败,404错误的异常处理和解决方法初探
  16. web一阶段 day14
  17. R语言 了解R语言的工作空间
  18. My findings:CoordConv坐标嵌入技术及其泛化性能
  19. plc远程服务器,PLC远程控制
  20. dp302打印服务器网页登录,轻松共享 D-Link DP-302 打印服务器

热门文章

  1. 【学无止境】ajax长循环,反向ajax初体会,不用ws实现即时聊天
  2. linux mariadb
  3. 关于Django部分
  4. 简单枚举(算法竞赛入门经典)
  5. 用WSE在Web服务中验证用户身份
  6. 免安装版Tomcat6.0启动方法
  7. 信息安全系统设计基础学习总结第二周
  8. mysql双向复制(主主模式)
  9. linux 文件删除恢复
  10. 最不安全的网络管理员大盘点