7279 - Sheldon Numbers
题目链接:点击打开链接
题意:A代表一到多个1,B代表一到多个0,组成二进制不长于63位的数字。形式为ABAB...A或ABABAB...AB;
分析:一个令我印象深刻的位运算题目,同时巩固了对set使用的熟练程度,第一次使用unsigned long long着实不适应;
思路详见代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<set>
#define ull unsigned long longusing namespace std;
char str[100];
ull n,m;
set<ull> ss;void init()
{int index=0;for(int i=1;i<64;i++){for(int j=0;j<63;j++){if(i+j<=63) //暴力所有长度小于63的情况一共2015种 { int cnt=i;ull A=1ull;//初始化注意事项加ull for(int k=1;k<i;k++){A=A<<1;A++;}ss.insert(A);ull sta=A;while(cnt<=63)//位运算一定用位数来判停,最多循环32次,复杂度2015*32,1000ms足够,况且是打表{sta=sta<<j;cnt+=j;if(cnt>63) break;ss.insert(sta);sta=sta<<i;sta+=A;cnt+=i;if(cnt>63) break;ss.insert(sta);}}}}
}void cal()
{int ans;set<ull>::iterator it;for(it = ss.begin() ; it != ss.end() ; ++it) { if(*it>=n && *it<=m)ans++;} printf("%d\n",ans);
}int main()
{init();
// printf("%d\n",ss.size()); 一共4809个符合情况的,直接遍历即可。 while(~scanf("%llu%llu",&n,&m)){cal();}return 0;
}
7279 - Sheldon Numbers相关推荐
- UVALive 7279 Sheldon Numbers (暴力打表)
Sheldon Numbers 题目链接: http://acm.hust.edu.cn/vjudge/contest/127406#problem/H Description According t ...
- UVALive 7279 Sheldon Numbers
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- Gym - 101128H - Sheldon Numbers
Gym - 101128H - Sheldon Numbers 原命题链接 写在前面 这是一道在学校比赛的时候遇到的题目,当时就觉得可以敲,一开始是纯暴力枚举判断,结果正确但是严重超时,后来改成了暴力 ...
- Sheldon Numbers 暴力枚举
题意:求在区间内Sheldon数字的个数 题解: 枚举n m,然后判断是否可以组成相应的位数 然后再判断是否这个数字是在这个区间内 #include<stdio.h> #include& ...
- Sheldon Numbers
Sample Input 1 10 70 75 Sample Output 10 1 题意:一个数的二进制满足ABABA或者是ABAB的情况是完美的,要求A里面全是1,并且个数不为0,B里面全是0,个 ...
- Sheldon Numbers (暴力枚举)
一开始想到是暴力构造 但是题没读懂.还好队友读懂了.今天自己写了个 发现还挺好写的.改了几个点过了. #include <bits/stdc++.h> using namespace st ...
- Gym - 101128H:Sheldon Numbers
题意 给你两个整数X和Y 问你在区间[X,Y]中,有多少数字的二进制满足ABAB或者A这种形式.A是某个数量的1,B是某个数量的0. 分析 因为数据规模很大,直接枚举x和y之间的数字然后判断会超时.所 ...
- GYM 101128 H.Sheldon Numbers(枚举)
Description 问区间[x,y]中有多少数的二进制表示是ABAB..AB型或者A型的,其中A是n个1,B是m个0,n,m>0 Input 两个整数x和y(0<=x,y < 2 ...
- GYM 101128H Sheldon Numbers
原题如 Description 问区间[x,y]中有多少数的二进制表示是ABAB..AB型或者A型的,其中A是n个1,B是m个0,n, m > 0 Input 两个整数x和y(0<= ...
最新文章
- RH5.4下samba共享配置实例(3)
- HttpClient 如何设置请求接口等待时间
- jdbc封装mysql_实用JDBC数据库查询封装
- linux中断系统那些事之----中断处理过程【转】
- esxi时区设置 +8_Go语言MySQL时区问题
- 超级计算机预测南方下雪,南方九省即将大雪纷飞?超级计算机:可能性增加,但还没有确定...
- SQL:ISNULL
- 在.NET Core中使用Exceptionless分布式日志收集框架
- 阿里Java编程规约(集合)
- 深入理解static关键字
- EXCEL表格转换成json数据工具
- Dcmtk在PACS开发中的应用(基础篇) 第二章 打印影像(胶片) 作者 冷家锋
- 漫画:从打牌到 map-reduce 工作原理解析
- 博客生活的另一种境界![博友话题]
- 在Linux Redhat 9.0使用YUM
- Arcgis Android - HelloWorld
- html5怎么联网,HTML5--离线web应用
- 一起来全面解析5G网络领域最关键的十大技术
- Netron可视化网络结构
- java: 不兼容的类型: java.lang.Long无法转换为java.lang.Intege
热门文章
- 邻接表-建立无向图、无向网、有向图、有向网
- IO流 输入流、输出流、字节流、字符流、转换流、及Properties类
- 区块链游戏为何如此火?大概是因为投机者和“韭菜”太多
- 夜来风雨声,MapReduce知多少?
- 【老狼推荐】Instruments 用户指南
- TCP和UDP编程的区别,步骤
- windows 安装汽车之家falcon插件 采集数据
- 【每日早报】2019/07/01
- 树莓派siri homekit_米家设备也能喊 Siri 控制,手把手教你把米家设备接入 Homekit
- halcon中如何生成椭圆_《zw版·Halcon-delphi系列原创教程》 Halcon分类函数005·graphics-obj,基本绘图单元,包括线段、矩形、椭圆、圆形...