jzoj3084
發現題目函數本質是:
1.將某一數x的末尾1去掉
2.不斷將這個數/2,直到遇到新的1
我們發現一個數z可以用y步到達數x,記x二進制長度為c,分2種情況討論:
1.x是奇數,則z的前c個二進制數必須與x相等
2.x是偶數,則z的第c位可以任意選,所以只要c-1位相等即可
我們弄出答案區間再統計答案即可
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll k,a,b;
ll ct(ll x){
ll c=1,kk=k,rr=0;
while(1){
ll l=kk,r=kk+c-1;
if(r<=x)rr+=r-l+1;
if(x<l)break;
if(l<=x&&x<=r){
rr+=x-l+1;
break;
}
kk<<=1;
c<<=1;
}
if(k%2==0)rr*=2;
return rr;
}
int main(){
scanf("%lld%lld%lld",&k,&a,&b);
if(!k){
printf("%lld",b-a+1);
return 0;
}
printf("%lld",ct(b)-ct(a-1));
}
jzoj3084的更多相关文章
随机推荐
- Android Camera后台拍照
http://item.congci.com/item/android-camera-houtai-paizhao 有许多人希望在不让用户知道的情况下,使用Android后台Service调用摄像头拍 ...
- syslog系统日志、Windows事件日志监控
- 2019.01.21 bzoj3674: 可持久化并查集加强版(主席树+并查集)
传送门 题意:维护可持久化并查集,支持在某个版本连边,回到某个版本,在某个版本 询问连通性. 思路: 我们用主席树维护并查集fafafa数组,由于要查询历史版本,因此不能够用路径压缩. 可以考虑另外一 ...
- 2018.11.02 洛谷P3952 时间复杂度(模拟)
传送门 惊叹考场dubuffdubuffdubuff. 这题还没有梭哈难啊233. 直接按照题意模拟就行了. 代码: #include<bits/stdc++.h> using names ...
- 更新源pip
国内镜像源列表 豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 h ...
- INtellJ IDEA 2017 创建Annotation注解类
1.建立一个文件夹 java ------->new ---->Package--->输入名字 2.New ---->java class --->如图修改红圈位置的下拉 ...
- php 微信登录 公众号 获取用户信息 微信网页授权
php 微信登录 公众号 获取用户信息 微信网页授权 先自己建立两个文件: index.php 和 getUserInfo.php index.php <?php //scope=snsap ...
- VIP之FrameBuffer
2.VIP Frame Buffer 1.原来我是一直存在一个疑惑,demo上说VIP Frame Buffer输出是固定的60fps,但是在NiosII的程序中我没有找到设置输出为60fps的设置 ...
- UIActivityIndicatorView 的使用
// // UIActivityIndicator.m // ToolBar // // Created by lanouhn on 15/1/3. // Copyright (c) 2015 ...
- Phalanx (hdu 2859)
http://acm.hdu.edu.cn/showproblem.php?pid=2859 Time Limit: 10000/5000 MS (Java/Others) Memory ...