3303. 1 的个数最多的整数

徐摆渡

给个贪心构造的思路
考虑比较 $a$ 和 $b$ 的二进制长度
如果不等,那么构造全 $1$ 序列,使得其十进制值不大于 $b$
如果相等,对比 $a$ 和 $b$ 的二进制数位,找到第一个 $a$ 数位为 $0$ , $b$ 数位为 $1$ 的位置,记为 $pos$
构造 $01$ 串,使得从 $pos$ 到最高位与 $b$ 完全一样
如果从 $pos$ 到最低位,$b$ 的数位全 $1$,那么 $01$ 串和 $b$ 完全一样
否则,将 $01$ 串的 $pos$ 设为 $0$ ,剩下的低 $pos$ 位置设为全 $1$ 即可

lecholin

unsigned long long…

你当前正在回复 博客/题目
存在问题!