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的更多相关文章
随机推荐
- SparkStreaming--reduceByKeyAndWindow
1.reduceByKeyAndWindow(_+_,Seconds(3), Seconds(2)) 可以看到我们定义的window窗口大小Seconds(3s) ,是指每2s滑动时,需要统计 ...
- 【转】四、可空类型Nullable<T>到底是什么鬼
[转]四.可空类型Nullable<T>到底是什么鬼 值类型为什么不可以为空 首先我们都知道引用类型默认值都是null,而值类型的默认值都有非null. 为什么引用类型可以为空?因为引用类 ...
- [C#]做服务使用Process启动外部程序没窗体
这几天会到一个需要,要时时侦测文件生成,并上传到Server上,侦测文件生成使用的FileSystemWatch.但是时时运行遇到了问题,程序可能会人为退出或者意外终止,使用一个进程监控程序的监程,也 ...
- IIS Web服务器日志、日志服务器分析
IIS Web服务器日志.日志服务器分析 EventLog Analyzer是一款全面的工具,用于审计.管理和跟踪您的Microsoft Internet Information Services(I ...
- libmysqlclient version
You probably know that the version number of the libmysqlclient.so library has changed from .16 to . ...
- Django之auth模块用户认证模块
一.Auth模块 1)auth模块是什么.登录后台使用的账号密码,则就是使用的auth模块创建的表 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站 ...
- python学习 day11 (3月16日)----(生成器内置函数)
1生成器 1生成器的本质 一定是迭代器(反之不一定(用send(生成器特有方法)验证))2生成器是可以让程序员自己定义的一个迭代器3生成器的好处,节省内存空间4生成器的特性,一次性的,惰性机制,从上往 ...
- PHP中两个冒号是什么意思
类中 静态方法和静态属性的引用方法 对类的静态属性和方法的直接引用,这种情况可以不需要实例化类而直接使用“::”调用
- 2019.01.24 bzoj3125: CITY(轮廓线dp)
传送门 题意简述:给一个n∗mn*mn∗m的网格图,有的格子不能走,有的格子只能竖着走,有的格子只能横着走,问用一条回路覆盖所有能走的格子的方案数. 思路: 就是简单的轮廓线dpdpdp加了一点限制而 ...
- C++标准库addressof的应用
C++11将addressof作为标准库的一部分,用于取变量和函数等内存地址. 代码示例: #include <memory> #include <stdio.h> void ...