题目类型:位运算 传送门:>Here< 题意:求区间\([L,R]\)内二进制中1的个数最多的那个数,如果有多解输出最小解 解题思路 想了15min就一遍A了 我们可以贪心地在\(L\)的基础上+1,从小的往大的加.根据二进制的性质,我们不可能把原来的1变成0,除非在更高位搞出一个新的1来.因为如果不在更高位搞出一个1,就肯定比\(L\)小了.而我们又不可能搞掉一个地位,去弄一个高位,因为这样不仅没有让1的个数增多,反而让数字更大了 因此我们的最优策略,就是从最低位开始给0的位补1.知道超过\…