CF&&CC百套计划4 Codeforces Round #276 (Div. 1) A. Bits

时间:2022-05-28 08:53:04

http://codeforces.com/contest/484/problem/A

题意:

询问[a,b]中二进制位1最多且最小的数

贪心,假设开始每一位都是1

从高位i开始枚举,

如果当前数>b,且减去1<<i后仍>=a,就减1<<i

当当前数在[a,b]之间时,输出

因为从高位开始减,所以保证当前数是最小的

#include<cstdio>
#include<iostream> using namespace std; typedef long long LL; LL bit[]; void read(LL &x)
{
x=; char c=getchar();
while(!isdigit(c)) c=getchar();
while(isdigit(c)) { x=x*+c-''; c=getchar(); }
} int main()
{
bit[]=;
for(int i=;i<=;++i) bit[i]=bit[i-]<<;
int n;
scanf("%d",&n);
LL a,b;
LL ans;
while(n--)
{
read(a); read(b);
ans=(1LL<<)-;
for(int i=;i>=;--i)
{
if(ans>b && ans-bit[i]>=a) ans-=bit[i];
if(ans>=a && ans<=b) break;
}
cout<<ans<<'\n';
}
}
A. Bits
time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Let's denote as CF&&CC百套计划4 Codeforces Round #276 (Div. 1) A. Bits the number of bits set ('1' bits) in the binary representation of the non-negative integer x.

You are given multiple queries consisting of pairs of integers l and r. For each query, find the x, such that l ≤ x ≤ r, and CF&&CC百套计划4 Codeforces Round #276 (Div. 1) A. Bitsis maximum possible. If there are multiple such numbers find the smallest of them.

Input

The first line contains integer n — the number of queries (1 ≤ n ≤ 10000).

Each of the following n lines contain two integers li, ri — the arguments for the corresponding query (0 ≤ li ≤ ri ≤ 1018).

Output

For each query print the answer in a separate line.

Examples
input
3
1 2
2 4
1 10
output
1
3
7
Note

The binary representations of numbers from 1 to 10 are listed below:

110 = 12

210 = 102

310 = 112

410 = 1002

510 = 1012

610 = 1102

710 = 1112

810 = 10002

910 = 10012

1010 = 10102

CF&&CC百套计划4 Codeforces Round #276 (Div. 1) A. Bits的更多相关文章

  1. CF&amp&semi;&amp&semi;CC百套计划4 Codeforces Round &num;276 &lpar;Div&period; 1&rpar; E&period; Sign on Fence

    http://codeforces.com/contest/484/problem/E 题意: 给出n个数,查询最大的在区间[l,r]内,长为w的子区间的最小值 第i棵线段树表示>=i的数 维护 ...

  2. CF&amp&semi;&amp&semi;CC百套计划3 Codeforces Round &num;204 &lpar;Div&period; 1&rpar; A&period; Jeff and Rounding

    http://codeforces.com/problemset/problem/351/A 题意: 2*n个数,选n个数上取整,n个数下取整 最小化 abs(取整之后数的和-原来数的和) 先使所有的 ...

  3. CF&amp&semi;&amp&semi;CC百套计划3 Codeforces Round &num;204 &lpar;Div&period; 1&rpar; D&period; Jeff and Removing Periods

    http://codeforces.com/problemset/problem/351/D 题意: n个数的一个序列,m个操作 给出操作区间[l,r], 首先可以删除下标为等差数列且数值相等的一些数 ...

  4. CF&amp&semi;&amp&semi;CC百套计划3 Codeforces Round &num;204 &lpar;Div&period; 1&rpar; E&period; Jeff and Permutation

    http://codeforces.com/contest/351/problem/E 题意: 给出一些数,可以改变任意数的正负,使序列的逆序对数量最少 因为可以任意加负号,所以可以先把所有数看作正数 ...

  5. CF&amp&semi;&amp&semi;CC百套计划3 Codeforces Round &num;204 &lpar;Div&period; 1&rpar; B&period; Jeff and Furik

    http://codeforces.com/contest/351/problem/B 题意: 给出一个n的排列 第一个人任选两个相邻数交换位置 第二个人有一半的概率交换相邻的第一个数>第二个数 ...

  6. CF&amp&semi;&amp&semi;CC百套计划1 Codeforces Round &num;449 C&period; Willem&comma; Chtholly and Seniorious &lpar;Old Driver Tree&rpar;

    http://codeforces.com/problemset/problem/896/C 题意: 对于一个随机序列,执行以下操作: 区间赋值 区间加 区间求第k小 区间求k次幂的和 对于随机序列, ...

  7. CF&amp&semi;&amp&semi;CC百套计划1 Codeforces Round &num;449 B&period; Ithea Plays With Chtholly

    http://codeforces.com/contest/896/problem/B 题意: 交互题 n张卡片填m个1到c之间的数,1<=n*ceil(c/2)<=m 最后填出一个单调非 ...

  8. CF&amp&semi;&amp&semi;CC百套计划1 Codeforces Round &num;449 A&period; Nephren gives a riddle

    http://codeforces.com/contest/896/problem/A 第i个字符串嵌套第i-1个字符串 求第n个字符串的第k个字母 dfs #include<map> # ...

  9. CF&amp&semi;&amp&semi;CC百套计划2 CodeChef December Challenge 2017 Chef And Easy Xor Queries

    https://www.codechef.com/DEC17/problems/CHEFEXQ 题意: 位置i的数改为k 询问区间[1,i]内有多少个前缀的异或和为k 分块 sum[i][j] 表示第 ...

随机推荐

  1. Java泛型的历史

    为什么Java泛型会有当前的缺陷? 之前的章节里已经说明了Java泛型擦除会导致的问题,C++和C#的泛型都是在运行时存在的,难道Java天然不支持“真正的泛型”吗? 事实上,在Java1.5在200 ...

  2. CSS&sol;CSS3 如何实现元素水平居中

    更新:可直接访问 [CSS/CSS3 如何实现元素水平居中] 查看效果,右键查看源代码 -------------------------------------------------分割线---- ...

  3. Sky number

    描述 key 天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进 制数BB0,其四位数字之和也为22,同时 ...

  4. 多校 Robot Motion

    题目链接:http://acm.hust.edu.cn/vjudge/contest/124435#problem/J 密码:acm Sample Input NEESWE WWWESS SNWWWW ...

  5. 遇到scan configurtation CDT builder等的错误

    可以直接propoerty中的builder中把这两项删除

  6. MySQL中索引的基础知识

    本文是关于MySQL中索引的基础知识.主要讲了索引的意义与原理.创建与删除的操作.并未涉及到索引的数据结构.高性能策略等. 一.概述 1.索引的意义:用于提高数据库检索数据的效率,提高数据库性能. 数 ...

  7. ElasticSearch &plus; Canal 开发千万级的实时搜索系统

    公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市.用户ID昵称等进行搜索. 项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式.但随着业务的发展, ...

  8. 【Guava】使用Guava的RateLimiter做限流

    一.常见的限流算法 目前常用的限流算法有两个:漏桶算法和令牌桶算法. 1.漏桶算法 漏桶算法的原理比较简单,请求进入到漏桶中,漏桶以一定的速率漏水.当请求过多时,水直接溢出.可以看出,漏桶算法可以强制 ...

  9. AngularJS&colon;directive自定义的指令

    除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 你可以使用 .directive 函数来添加自定义的指令. 要调用自定义指令,HTML 元素上需要添加自定义指令名. 使用驼峰法来命 ...

  10. Android:ViewGroup和View的Touch事件

    Android中ViewGroup和View中的Touch事件传递机制分析 关键字:GroupView:View:Touch事件 基础知识: onInterceptTouchEvent():在View ...