zoukankan      html  css  js  c++  java
  • Codeforces 484(#276 Div 1) A Bits 乱搞

    题意:给你一个非负整数范围,求其中二进制中 1 最多且数字最小的数

    解题思路:乱搞,找到两个数第一个不匹配的位数,将后面的位都赋值为1(如果右端点这位本身就是1,则从这一位开始),

    解题代码:

     1 // Author: darkdream
     2 // Created Time: 2014年11月06日 星期四 00时24分10秒
     3 
     4 #include<vector>
     5 #include<list>
     6 #include<map>
     7 #include<set>
     8 #include<deque>
     9 #include<stack>
    10 #include<bitset>
    11 #include<algorithm>
    12 #include<functional>
    13 #include<numeric>
    14 #include<utility>
    15 #include<sstream>
    16 #include<iostream>
    17 #include<iomanip>
    18 #include<cstdio>
    19 #include<cmath>
    20 #include<cstdlib>
    21 #include<cstring>
    22 #include<ctime>
    23 #define LL long long
    24 
    25 using namespace std;
    26 int main(){
    27     int n ;
    28     LL l , r;
    29     scanf("%d",&n);
    30     for(int i = 1;i <= n;i ++)
    31     {
    32         LL ans = 0 ; 
    33         scanf("%I64d %I64d",&l,&r);
    34         for(int i = 62 ;i >= 0 ;i --)
    35         {
    36             if((r&(1ll << i)) != 0 )
    37             {
    38                 if((l & (1ll << i)) != 0 )
    39                 {
    40                     ans += (1ll << i);
    41                     r &=  (~(1ll << i));
    42                     l &=  (~(1ll << i));
    43                 }else{
    44                     if((1ll << (i+1))-1 <= r)
    45                     {
    46                         ans +=  (1ll << (i+1)) -1;
    47                     }
    48                     else ans += (1ll << i ) - 1; 
    49                     break;
    50                 }
    51             }
    52 
    53         }
    54         printf("%I64d
    ",ans);
    55     }
    56     return 0;
    57 }
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    2016年开源软件评选(截图备份)
    牛逼的思维方式都是倒逼出来的(摘)
    3-22 多态
    3 -20 类
    3 -19标准库
    3 -16 json序列化
    3 -16 内置方法
    迭代对象 和 迭代器
    3 -14 迭代 和列表 生成器
    3-13 装饰器
  • 原文地址:https://www.cnblogs.com/zyue/p/4078436.html
Copyright © 2011-2022 走看看