codeforces C. Bits(数学题+或运算)
运算 Codeforces 数学题 Bits
2023-09-27 14:20:24 时间
题意:给定一个区间,求区间中的一个数,这个数表示成二进制的时候,数字1的个数最多!
如果有多个这样的数字,输出最小的那个!
思路:对左区间的这个数lx的二进制 从右往左将0变成1,直到lx的值大于右区间的值rx!
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 6 using namespace std; 7 8 int main(){ 9 long long a, b; 10 int n; 11 cin>>n; 12 while(n--){ 13 cin>>a>>b; 14 for(long long i=1; (a|i) <= b; i<<=1) 15 a |= i; 16 cout<<a<<endl; 17 } 18 return 0; 19 }
相关文章
- 使用位运算方法实现十进制数字转换为十六进制数
- Python从零到壹丨图像增强及运算:图像掩膜直方图和HS直方图
- 二进制中1的个数 (位运算)
- 详解SQL集合运算
- java入门学习(十二)运算语句 if switch
- sql server 中进行除法运算时,如何得到结果是小数形式呢?
- pandas分组运算(groupby)
- 【Python】算术运算符 (一正一负时的运算规则)
- 011 复合函数的极限运算法则
- spark运算结果写入hbase及优化
- Eigen库学习(五)块运算
- 计算机IP地址与子网掩码如何进行AND运算
- 深度学习:浅层神经网络与深度神经网络运算推导
- BigDecimal除法运算出现java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result的解决办法
- LeetCode 02:“两数相加”,小学加法运算而已?
- 【H.264/AVC视频编解码技术详解】十四、H.264的变换编码(一)——矩阵运算与正交变换基本概念