神殿

题目描述:
icebound通过勤工俭学,攒了一小笔钱,于是他决定出国旅游。这天,icebound走进了一个神秘的神殿。神殿由八位守护者守卫,总共由64个门组成,每一道门后都有一个迷宫,迷宫的大小均为100×100 100 \times 100100×100。icebound在迷宫中总共耗时T小时,消耗食物K公斤。历经千辛万苦之后,icebound终于穿越了迷宫,到达了神殿的中心。神殿的中心有一个宝箱。宝箱上显示有两个正整数l和r。icebound苦思冥想,终于发现一些打开宝箱的线索。你需要找到一个数P,它具有一个美妙的性质:它是[l,r]中所有数的二进制表示里,1的个数最多的一个数。如果你发现了这个美妙的数字,你就可以打开宝箱,获得巨额财富。
比如[4,8]中

4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
1
2
3
4
5
二进制表示中11的个数最多的数是7,它含有3个1。
输入:
输入一行,两个正整数:ll和rr,用空格隔开,代表神殿中宝箱上显示的数。

1≤T<231 1 \leq T < 2^{31}1≤T<2
31

1≤K≤105 1 \leq K \leq 10^51≤K≤10
5

1≤l≤r≤2×109 1 \leq l \leq r \leq 2 \times 10^{9}1≤l≤r≤2×10
9

输出:
一个十进制数P,代表满足条件的解。如果有多个P满足条件,输出最小的P。

解题思路

二进制异或。由于这部分自学不深。刚看到题的时候是打算用逐位取余来做,肯定超时了。百度了一下,大佬都是用这种方法。刚开始不太明白,就写了一下。
1 | 0001
2 | 0010
3 | 0011
4 | 0100
5 | 0101
6 | 0110
7 | 0111
8 | 1000
9 | 1001
10| 1010

1|2 = 0001 | 0010 = 0011 = 3
3|4 = 0011 | 0100 = 0111 = 7
7|8 = 0111 | 1000 = 1111 = 16
16>10
所以答案为7
注意看二进制异或的左边和右边
发现规律

代码

#include<iostream>
using namespace std;
int main()
{long long l,r;cin>>l>>r;while( (l|(l+1) )<= r){l = l|(l+1);}cout<<l;
}

神殿【二进制异或】2018河北省程序设计 H题相关推荐

  1. 后缀数组 ---- 2018~2019icpc焦作H题[后缀数组+st表+二分+单调栈]

    题目链接 题目大意: 给出nnn个数,定义f[l,r]f[l,r]f[l,r]表示 区间[l,r][l,r][l,r]的最大值,求所有 子区间的最大值的和,要求相同的子区间只能算一次 比如数列 5 6 ...

  2. 2018团体程序设计天梯赛 软件学院选拔赛

    2018团体程序设计天梯赛 软件学院选拔赛 被你们虐了一下午的OJ是很辛苦的,让我们来看看题解吧. L1-01 微妙的平衡 题目描述: 平衡是一种很微妙的状态.施加在一个物体上各种力,在什么情况下会使 ...

  3. 201771010102 常惠琢 《2018面向对象程序设计(Java)》第9周学习总结

    实验九 异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 掌握java异常处理技术: (2) 了解断言的用法: (3) 了解日志的用途: (4) 掌握程序基础调试技巧: 2 ...

  4. H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛

    H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 文章目录 H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 1.任务 2.要求 3.说明 1.任务 ...

  5. 2018面向对象程序设计(Java)第3周学习指导及要求

    2018面向对象程序设计(Java) 第3周学习指导及要求(2018.9.11-2018.9.16)   学习目标 适应老师教学方式,能按照自主学习要求完成本周理论知识学习: 掌握Java Appli ...

  6. 二进制异或--7.18待完善

    对于一个数组a1a_1a1​,a2a_2a2​,--,ana_nan​,定义如下函数fff: f(a1,a2,--,an)={a1,n=1f(a1⊕a2⊕a3⊕--an−1⊕an),n>1f(a ...

  7. [2018 NUIST 程序设计竞赛] A. 竹鼠的命运

    [2018 NUIST 程序设计竞赛] A. 竹鼠的命运 原题: 题目描述 农华兄弟最近开始做直播,竹鼠们开始瑟瑟发抖,但它们除了吃和睡,其它什么都做不了.农华兄弟突发奇想,如果某只竹鼠最多一次连续吃 ...

  8. 最新计算机二级c语言程序设计题库,2016年计算机二级考试C语言程序设计真题题库.doc...

    2016年计算机二级考试C语言程序设计真题 2016上半年全国计算机等级考试时间是3月26-29日,以下小编为大家整理出来的是计算机二级考试试题,希望对大家的复习有帮助! 一.选择题,(1-40)每题 ...

  9. c语言程序设计素材,2016年计算机二级考试C语言程序设计真题素材.doc

    2016年计算机二级考试C语言程序设计真题 2016上半年全国计算机等级考试时间是3月26-29日,以下小编为大家整理出来的是计算机二级考试试题,希望对大家的复习有帮助! 一.选择题,(1-40)每题 ...

最新文章

  1. java78条注意事项
  2. 敏捷与DevOps整合之道
  3. from flask.ext.cache import make_template_fragment_key
  4. Shell入门(三)之字符串
  5. php 数据接口,初识 php 接口
  6. html 下拉到一定位置,浏览器向下滚动到一定位置继续滚动时,侧边导航固定在页面顶部,再滚动到一定位置时页面再向下滚动侧边导航不再固定。这种效果怎么实现呢...
  7. SQL Server 漏洞评估工具
  8. c语言学习-输入一个十进制数,输出其对应的八进制数据
  9. ASP.NET初级传智播客.net第十季asp.net基础 文字总结(未完)
  10. 在linux系统下安装redis
  11. AEJoy —— 表达式之弹性震动模拟详解【JS】
  12. 【mean teacher】RuntimeError: Integer division of tensors using div or / is no longer suppor的解决
  13. 单片机常用芯片总结(二)——DS1302时钟芯片
  14. 囚徒困境(条件判断)
  15. 计算机的应用给我们带来了,电脑能给我们的生活带来哪些便利
  16. 使用vuex对兄弟组件传值_vue组件之间相互传值的方式
  17. 深度学习之GPU环境配置
  18. 项目范围管理计划模板
  19. fitnesse 实例
  20. KesionCMS V9.03 Final SQL注射

热门文章

  1. win10平台或Linux平台卸载Qt
  2. 00-PS工具的简单使用
  3. JS返回上一页下一页功能
  4. iOS字符串的常用方法
  5. 1972年重大考古发现:出土《孙子兵法》和失传千年的《孙膑兵法》
  6. 论文笔记:使用区块链和智能合约打击深度假冒视频
  7. 视频操纵中的新AI技术转向
  8. Flutter学习第七天 flutter布局
  9. access 英语什么意思_access 中文意思是?搞懂英文「access」的意思!
  10. 华为云“普惠AI”十字箴言