神殿【二进制异或】2018河北省程序设计 H题
神殿
题目描述:
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题相关推荐
- 后缀数组 ---- 2018~2019icpc焦作H题[后缀数组+st表+二分+单调栈]
题目链接 题目大意: 给出nnn个数,定义f[l,r]f[l,r]f[l,r]表示 区间[l,r][l,r][l,r]的最大值,求所有 子区间的最大值的和,要求相同的子区间只能算一次 比如数列 5 6 ...
- 2018团体程序设计天梯赛 软件学院选拔赛
2018团体程序设计天梯赛 软件学院选拔赛 被你们虐了一下午的OJ是很辛苦的,让我们来看看题解吧. L1-01 微妙的平衡 题目描述: 平衡是一种很微妙的状态.施加在一个物体上各种力,在什么情况下会使 ...
- 201771010102 常惠琢 《2018面向对象程序设计(Java)》第9周学习总结
实验九 异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 掌握java异常处理技术: (2) 了解断言的用法: (3) 了解日志的用途: (4) 掌握程序基础调试技巧: 2 ...
- H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛
H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 文章目录 H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 1.任务 2.要求 3.说明 1.任务 ...
- 2018面向对象程序设计(Java)第3周学习指导及要求
2018面向对象程序设计(Java) 第3周学习指导及要求(2018.9.11-2018.9.16) 学习目标 适应老师教学方式,能按照自主学习要求完成本周理论知识学习: 掌握Java Appli ...
- 二进制异或--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 ...
- [2018 NUIST 程序设计竞赛] A. 竹鼠的命运
[2018 NUIST 程序设计竞赛] A. 竹鼠的命运 原题: 题目描述 农华兄弟最近开始做直播,竹鼠们开始瑟瑟发抖,但它们除了吃和睡,其它什么都做不了.农华兄弟突发奇想,如果某只竹鼠最多一次连续吃 ...
- 最新计算机二级c语言程序设计题库,2016年计算机二级考试C语言程序设计真题题库.doc...
2016年计算机二级考试C语言程序设计真题 2016上半年全国计算机等级考试时间是3月26-29日,以下小编为大家整理出来的是计算机二级考试试题,希望对大家的复习有帮助! 一.选择题,(1-40)每题 ...
- c语言程序设计素材,2016年计算机二级考试C语言程序设计真题素材.doc
2016年计算机二级考试C语言程序设计真题 2016上半年全国计算机等级考试时间是3月26-29日,以下小编为大家整理出来的是计算机二级考试试题,希望对大家的复习有帮助! 一.选择题,(1-40)每题 ...
最新文章
- java78条注意事项
- 敏捷与DevOps整合之道
- from flask.ext.cache import make_template_fragment_key
- Shell入门(三)之字符串
- php 数据接口,初识 php 接口
- html 下拉到一定位置,浏览器向下滚动到一定位置继续滚动时,侧边导航固定在页面顶部,再滚动到一定位置时页面再向下滚动侧边导航不再固定。这种效果怎么实现呢...
- SQL Server 漏洞评估工具
- c语言学习-输入一个十进制数,输出其对应的八进制数据
- ASP.NET初级传智播客.net第十季asp.net基础 文字总结(未完)
- 在linux系统下安装redis
- AEJoy —— 表达式之弹性震动模拟详解【JS】
- 【mean teacher】RuntimeError: Integer division of tensors using div or / is no longer suppor的解决
- 单片机常用芯片总结(二)——DS1302时钟芯片
- 囚徒困境(条件判断)
- 计算机的应用给我们带来了,电脑能给我们的生活带来哪些便利
- 使用vuex对兄弟组件传值_vue组件之间相互传值的方式
- 深度学习之GPU环境配置
- 项目范围管理计划模板
- fitnesse 实例
- KesionCMS V9.03 Final SQL注射