题目

很少做这种二进制的题 感觉很陌生 以后要多练练 感觉位运算好绕
把a二进制拆分 然后从最低位开始找 如果当前位是0的话 就判断一下把它变成1之后是不是比b小 小的话就变 有点贪心思想

代码如下

#include<iostream>
#include<cstdio>
#include<cctype>using namespace std;#define in = read();typedef long long ll;typedef unsigned int ui;ll a , b;int ans;inline ll read(){ll num = 0 , f = 1;    char ch = getchar();while(!isdigit(ch)){if(ch == '-')   f = -1;ch = getchar();}while(isdigit(ch)){num = num*10 + ch - '0';ch = getchar();}return num*f;
}int main(){a in;   b in;while((a|(a + 1)) <= b)a |= a + 1;while(a){ans += a&1;a >>= 1;}printf("%d" , ans);
}//COYG

下面是Qiu.YF的代码 思路也很好理解 可以拿笔模拟一下

#include<cstdio>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<ctime>
inline long long read(){long long num=0,f=1;char ch=getchar();while(!isdigit(ch)){if(ch=='-')    f=-1;ch=getchar();}while(isdigit(ch)){num=num*10+ch-'0';ch=getchar();}return num*f;
}inline long long getlen(long long x){long long ans=0;while(x){if(x&1)    ans++;x>>=1;}return ans;
}long long ans;int main(){long long a=read(),b=read();long long len=(long long)log2(b)+1;for(long long i=len-1;i>=0;--i){long long x=1<<i;if(!(x&b))    continue;long long s=x^b;for(long long j=0;j<i;++j)    s|=(1<<j);if(s<a)    continue;ans=std::max(ans,getlen(s));}ans=std::max(ans,getlen(b));printf("%d",ans);return 0;
}

【数论】[luoguP2431]正妹吃月饼相关推荐

  1. 洛谷P2431正妹吃月饼

    刷题之路-数论 洛谷P2431正妹吃月饼 传送门 题目描述 做题思路 将a转换成二进制,然后从最小位开始,对每一位进行判断:若为0,则转换为1,若转换后大于b,则结束,否则继续.最后对a中的1的个数进 ...

  2. 洛谷 P2431 正妹吃月饼 解题报告

    P2431 正妹吃月饼 题目描述 今天是中秋节.\(uim\)带来了一堆大小不同且味道各异的月饼. 这些月饼的质量分别是\(1g\),\(2g\),\(4g\),\(8g\),\(16g\)....后 ...

  3. 中秋特辑--洛谷题目-P2431【正妹吃月饼】

    中秋特辑-洛谷题目讲解 P2431 正妹吃月饼 又快到了一年一次的中秋节了,也不知道大家有没有去吃月饼,嘿嘿,我最喜欢云腿月饼老好吃了. 虽然是到了中秋节,但是我们依然要刷题来复习和提高自己欸. 现在 ...

  4. P2431 正妹吃月饼

    P2431 正妹吃月饼 求给定区间二进制1的个数最多的数 即:max{popcount(i)},i∈[l,r]max\{popcount(i)\},i\in[l,r]max{popcount(i)}, ...

  5. 洛谷 P2431 正妹吃月饼

    题目描述 今天是中秋节.uim带来了一堆大小不同且味道各异的月饼. 这些月饼的质量分别是1g,2g,4g,8g,16g....后面一个是前面的2倍.每种只有一个. uim让正妹随便吃. 正妹希望尝试尽 ...

  6. luogu2431 正妹吃月饼

    题目大意 求一个正整数集合\(K\),使得\(\sum_{k\in K}2^k\in[A,B]\),且\(|K|\)最大.\(A,B\)大小在long long范围内. 思路 \(\sum_{k\in ...

  7. P2431 正妹吃月饼 [位运算]

    传送门 题意 : 求l-r之间所有数 , 表示为2进制1最多的有几个 考虑贪心 , 每次将l第一个不为0的加1 , 大于r时停止 这里有一个玄学的操作 , l = l|(l+1) , 就可以实现将第一 ...

  8. 除了吃月饼,中秋节还能干啥?

    明天 八月十五,团圆夜 花好月圆之际 除了吃月饼,还能干啥? 阿里妹带来双重好礼,陪你过中秋~ (往下看,送云栖大会三日通票哦) 1重礼  - 阿里技术热门精选 - <Java 开发手册> ...

  9. OSChina 周三乱弹 ——我就爱吃月饼,就爱抢月饼。我高兴。

    2019独角兽企业重金招聘Python工程师标准>>> @巴拉迪维:张敬轩<吻得太逼真>. 巴叔是麦霸, 爱上了乱弹点歌. 吻得太逼真 - 张敬轩 手机党少年们想听歌,请 ...

最新文章

  1. Android图形---OpenGL(二)
  2. python:列表增加元素,删除元素,切片等
  3. spring调用存储过程
  4. 将ARM4412开发板配置成USB网卡,并且使用USB通过Ubuntu上网
  5. 组织来了!特斯拉中国车友俱乐部开启官方认证
  6. java listview排序_android listviewadapter 怎么进行排序
  7. IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错
  8. UVA 10118 Free Candies
  9. 【数据结构笔记31】Dijkstra算法例题:旅游规划(双权重),以及其他推广
  10. π-Algorithmist分类题目(2)
  11. SpringBoot中Async异步方法和定时任务介绍
  12. HTTP服务器错误状态码4XX、5XX
  13. MySQL命令行中文显示乱码怎么办
  14. 实现小程序与SSM后台数据交互
  15. python.exe: No module named pip以及pycharm下载插件失败等问题
  16. Stripe国际支付平台接入
  17. android单元测试教程,Android单元测试-Junit
  18. OpenCV检测篇(二)——笑脸检测
  19. mysql查询当年年份
  20. 4K显示屏Win10下软件字体太小解决方法

热门文章

  1. 2017安卓最全框架
  2. “电氢并行” 新能源汽车催热综合能源补给站
  3. 超简单的图片去水印方法,看完就会!
  4. 一个超级炫酷的链接特效
  5. Kmeans 应用
  6. 计算机图形学慕课信息整理
  7. 移动端ESRI二次开发小结(esri,android)
  8. Parsing error: Unexpected token
  9. CTF-RE 笔记汇总
  10. 带约束进化算法问题分析Constrained Evolutionary Algorithms