(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进 ...
最新文章
- 一起学Windows phone 7开发(四. DeepZoom)
- (GIT)代码分支管理策略
- 廊田镇楼下村定点帮扶-农业大健康·李喜贵:功能性农业深加工
- 了解这些设计原则,助你打造最佳用户体验
- Java的内存--存储
- Linux入门之VIM快捷使用
- 7-3 复数四则运算 (15 分)
- InfoGAN详解与实现(采用tensorflow2.x实现)
- printf 输出对齐
- xp计算机连接不上网络打印机驱动,windows xp系统打印机共享提示连接失败的解决方法...
- 阿里副总裁玄难:藏经阁计划研发大规模知识构建技术首次披露
- 5部靠身材和脸蛋撑起了整部电影,女主光环太刺眼,部部是经典!
- Dlang如何禁用垃圾回收(GC)
- 手机pdf文件转语音_PDF文件怎么转EXCEL?教你一款超实用的迅捷PDF转换器
- 心理测评软件的心理测试法的优缺点,心理测试的优缺点
- Android脑图--Android动画
- 天翎携手群晖助力电商行业文档管理
- dlink网络打印服务器如何修改ip地址,DLINK路由器如何更改登陆IP地址
- CreateJS 指南
- 满分作文生成器网页版
热门文章
- cadence自动生成铺铜_干货 | 国内铜湿法冶金工艺现状分析
- css button 四种状态,css中按钮的四种状态
- 画出微型计算机结构图,中级工792、画出计算机环形网络模式图.doc
- java 像素级碰撞检测,» 像素级碰撞检测类
- puppy linux中文设置,Puppy Linux 中文支持包制作方法
- opython3l_python之 数据类型判定与类型转换
- 计划任务列表 html,OpenWrt使用crontab执行计划任务
- html调用app store,iOS 获取appStore的链接地址,从app中跳转 appStore中应用
- 外部中断实验 编写程序学习外部中断的电平触发方式。无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警。
- 东北大学c语言真题及答案,东北大学C语言总测试题(含答案).pdf