~~别在意快读~~
by xdd5689 @ 2022-11-20 22:04:46
?您确定您的做法是对的?
by 菡萏 @ 2022-11-21 19:08:45
@[Lotuses](/user/414231) 那可以指点一下吗
by xdd5689 @ 2022-11-21 19:40:40
这不是 $O(b-a)$ 的吗
$1\le a,b\le 10^{18}$
by 菡萏 @ 2022-11-21 19:54:11
@[Lotuses](/user/414231) 已A
```cpp
#include <bits/stdc++.h>
#define l long long
l a,b,x[64],sum[64]={0,1},ans=0;
using namespace std;
int main()
{
cin>>a>>b;
l t=b-a,ans1=0,ans11=0;
for(l i=2;i<=63;i++)
{
sum[i]=sum[i-1]*2;
}
for(l i=1;i<=63;i++)
{
if(t<sum[i])
{
ans1=i-1;
break;
}
}
if(t!=0)
for(l i=a;i<=b;i++)
{
if(i%sum[ans1]==sum[ans1]-1)
{
ans11=i;
}
}
else
ans11=a;
ans=0;
for(l i=63;i>=1;i--)
{
if(ans11>=sum[i])
{
ans++;
ans11-=sum[i];
}
}
printf("%lld",ans);
return 0;
}
```
by xdd5689 @ 2022-11-21 19:57:23
~~我的时间复杂度比别人高好多~~
by xdd5689 @ 2022-11-21 20:00:51