P2431 正妹吃月饼
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P2431 正妹吃月饼相关的知识,希望对你有一定的参考价值。
P2431 正妹吃月饼
求给定区间二进制1的个数最多的数
即: m a x { p o p c o u n t ( i ) } , i ∈ [ l , r ] max\\{popcount(i)\\},i\\in[l,r] max{popcount(i)},i∈[l,r]
思路:
贪心:答案从 l l l的基础上进行,每次尝试对最低位0变成1直到 > r >r >r为止。
时间复杂度: O ( l o g R ) O(logR) O(logR)
ll l,r;scanf("%lld%lld",&l,&r);
while((l|(l+1))<=r) l|=l+1;
printf("%lld\\n",__builtin_popcountll(l));
以上是关于P2431 正妹吃月饼的主要内容,如果未能解决你的问题,请参考以下文章