cf#gb2015-B - New Year and Old Property-暴力
2016-01-21 04:01
423 查看
B B - New Year and Old Property
找出 【a,b】之间 所有的 二进制下只有1个零的数的个数
因为这样的数不是很多,先预处理出来,每次询问直接查找便可;
trick: 求__int64 all=(1<<60)-1,时,1是默认是int,这样得到的all是溢出的int,
可以__int64 one=1; __int64 all=(one<<60)-1; 或者 __int64 all=(1LL<<60)-1
找出 【a,b】之间 所有的 二进制下只有1个零的数的个数
因为这样的数不是很多,先预处理出来,每次询问直接查找便可;
trick: 求__int64 all=(1<<60)-1,时,1是默认是int,这样得到的all是溢出的int,
可以__int64 one=1; __int64 all=(one<<60)-1; 或者 __int64 all=(1LL<<60)-1
int inf=15; double eps=0.000001; __int64 n,m; __int64 ans[8000]; int main() { __int64 i,j; int ok=0; __int64 one=1; for(j=1;j<=61;j++) { __int64 all=(one<<j)-1; for (i=1;i<j;i++) { ans[++ok]=all^(one<<(i-1)); } } sort(ans+1,ans+1+ok); scanf("%I64d%I64d",&n,&m); int it=lower_bound(ans+1,ans+1+ok,n)-ans; int it2=upper_bound(ans+1,ans+1+ok,m)-ans; it2--; int ret=it2-it+1; printf("%d\n",ret); return 0; }
相关文章推荐
- 阿里云 CentOS下面 Mysql 数据迁移
- Linux 环境下使用 C API 连接 MYSQL 数据库
- 八,JavaWeb之开发一个纳米级的JSP网站
- OpenGL头文件区别
- web 环境项目(intellj部署的tomcat) 重启时报 Exception in thread "HouseKeeper" java.lang.NullPointerException (转)
- Linux下程序开头要加上signal(SIGPIPE, SIG_IGN);
- linux常用解压缩命令
- 关于出现 org.apache.commons.lang.exception.NestableRuntimeException的解决方法
- linux监控进程物理内存
- 为 Drupal 7 网站添加自定义CSS
- linux(ubuntu)系统什么叫:桌面管理器,窗口管理器?
- unix进程管道
- 敏捷运维,数字化背后的机遇
- 广通软件架构师浅谈持续交付的Mesos与Docker
- 平安城市视频监控系统运维方案
- 广通软件IT运维综合监控管理解决方案
- 是否应该立即将网站升级到Drupal 8?
- Linux下hello.ko内核模块制作
- CentOS6.5菜鸟之旅:文件权限详解
- linux(centos)用户与权限