(None resource)-Binary system
Description
给定一个范围[a,b] (0<=a<b<=10^18) 求出该范围内二进制中1的个数最多的数,如果存在多个答案,输出最小的那个数
Input
输入数据有多组,每组数据输入两个整数a,b,表示区间[a, b]。
Output
输出该区间内二进制的1最多的整数,如果有多个数二进制1的个数相同,输出最小的那个数。
Sample Input
4 8 7 14
Sample Output
7 7
思路:
区间[a,b],如果a==b,输出a, 先把a,b化为二进制数,每位分别保存到数组中,如果a的二进制位数小于b的位数,那么直接输出 2^(b的位数-1) -1(此处如果b等于 2^b的位数 -1 就直接输出b) ,也就是二进制数比b少一位且所有位均为1,如果a的位数等于b的位数,要求最小的符合题意的数,尝试着从a的二进制低位开始,如果是0,将其变为1,看是否小于等于b,如果是,继续操作,如果不是,退出。
要注意10^18 <2^62 所以要存这么大是数组才行 2^63超过longlong范围
#include<iostream> #include<cstdio> using namespace std; #define ll long long ll n,m; int nn[65],mm[65]; ll p[65]; void inti() {p[0]=1;for(int i=1;i<63;i++)p[i]=p[i-1]<<1; } int getbit(ll x,int a[]) {int s=0;while(x){a[s++]=x%2;x/=2;}return s; } int main() {inti();while(~scanf("%lld%lld",&n,&m)){int lenn=getbit(n,nn);int lenm=getbit(m,mm);if(lenn<lenm){// input 3 7 output 7if(m==p[lenm]-1)printf("%lld\n",m);else printf("%lld\n",p[lenm-1]-1);continue;}// printf("lenn=%d\n",lenn);for(int i=0;i<lenn;i++){if(nn[i]==0){//printf("** %lld %d\n",n,i);if(n+p[i]<=m)n+=p[i];else break;}}printf("%lld\n",n);}return 0; }
转载于:https://www.cnblogs.com/kylehz/p/4324812.html
(None resource)-Binary system相关推荐
- a good resource gathering system from sustech
https://sustech-application.github.io/2020-Fall/#/
- Java-利用Spring提供的Resource/ResourceLoader接口操作资源文件
背景 资源访问接口 主要方法 主要实现类 例子 WritableResource ClassPathResource ServletContextResource 对资源文件编码 资源加载 资源地址表 ...
- 北邮OJ 1010. 16校赛-Binary Strings
时间限制 5000 ms 内存限制 65536 KB 题目描述 One day, the teacher asked Weishen to judge whether a binary string ...
- maven工程下 读取resource下配置文件
在maven工程中,我们会将配置文件放到,src/main/resources 下面,例如 我们需要确认resource 下的文件 编译之后存放的位置 它编译的路径直接位于classes下面,这个 ...
- Oracle Resource Manager 概述
官网的链接说明 About Oracle Database Resource Manager http://docs.oracle.com/cd/E11882_01/server.112/e25494 ...
- 外星人图像和外星人太空船_卫星图像:来自太空的见解
外星人图像和外星人太空船 By Christophe Restif & Avi Hoffman, Senior Software Engineers, Crisis Response 危机应对 ...
- 计算机常用英语单词对照
第一部分.计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 ...
- 计算机系统概论基本知识
目录 chapter0 chapter1 binary system chapter2 chapter3 chapter4 chapter5 Pseudo-Code (or Program Desig ...
- Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示
http://blog.51cto.com/xpleaf/2104160?cid=704690 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进 ...
最新文章
- php使用curl可以get 模拟post
- 数据结构经典书籍--数据结构与算法分析
- 17. Letter Combinations of a Phone Number
- Ardino基础教程 9_数字电压表
- python 如何获取当前时间并转换为年月日
- 测试Rockey 4 Smart加密锁的C语言代码
- Nginx设置TCP上游服务器的SSL配置
- Lync Server 2010 权限相关
- 2005年7月19日
- 解读汽车机械工作原理GIF图 懂得三个算你牛!
- 【网络安全工程师面试合集】—社会工程学到底是什么?
- Outline浏览加速-实操分享今日随笔
- 第十三届蓝桥杯省赛 python B组复盘
- js获取内网ip地址,操作系统,浏览器版本等信息
- 案例三:淘宝用户行为分析
- 清华大学课题组联合美团研发无人机声波定位技术获ACM SenSys顶会大奖
- Linux内核的删除
- VerA 0.15 by PE_kill
- 编写CSDN博客,如何去掉插入的图片上的水印
- WGS84坐标 火星坐标 BD09坐标转换
热门文章
- python排名上升_TIOBE:2019年7月全球编程语言排行 Python热度继续上升
- php div行内块元素,行内元素与块级元素的区别详细介绍
- matlab二元方程组,用matlab解一个二元方程组,会的进,得到解再回答
- JavaScript 函数定义+内置函数使用+array对象+object类型
- erp开发和java开发区别_Java程序员求职必学:Spring boot学习指南!
- sql查找一个范围的值_销售需求丨查找问题
- mix2s android p功能,已升安卓P!网友:MIX2S才是亲儿子
- linux 下nc-verilog 仿真环境搭建,Cadence NC Verilog仿真教程
- python鼠标移动轨迹_鼠标的另一种选择,肯辛通轨迹球能否改变固有的使用习惯?...
- 服务器故障英文邮件,服务器一般故障排除(国外英文资料).doc