链接:

P5657


分析:

签到题,不过也有不少细节。

数据范围需要开 unsigned long long ,前年也有很多人因此丢了5分。

pow 会出现神必错误,需要手写一个 mpow 函数。


算法:

我是记录当前的 \(l,r\) 判断 \(k\) 与 \(mid\) 的大小,然后分类讨论倒序和正序时选左边和选右边手玩的结论。变量 \(f\) 代表顺序,0 代表正序,1 代表倒序。

\(k\) 在左边时输出 \(f\) 并令 \(f\) 等于 0,\(k\) 在右边时输出 \(1-f\) 并令 \(f\) 等于 1,然后二分下去即可。

但这样做在 mid=(l+r)>>1 时可能爆 unsigned long long,所以改成mid=l/2+r/2+(l%2==1&&r%2==1);


代码:
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
int n,k;
int qpow(int a,int b){
int ans=1llu;
while(b){
if(b&1llu)ans=ans*a;
a=a*a;
b>>=1llu;
}
return ans;
}
signed main(){
cin>>n>>k;
int l=0llu,r=qpow(2,n)-1llu,mid,f=0;
while(l<r){
mid=l/2+r/2+(l%2==1&&r%2==1);
if(k<=mid) cout<<f,f=0,r=mid;
else cout<<1-f,f=1,l=mid+1;
}
return 0;
}
题外话:

签道题罢了

洛谷 P5657 [CSP-S2019] 格雷码的更多相关文章

  1. 格雷码 CSP(NOIP??)2019 洛谷 P5657

    洛谷AC通道! 多年过后,重新来看这道D1T1,20min不到AC,再回忆起当初考场三小时的抓耳挠腮,不禁感慨万千啊!! 发篇题解记录一下. 思路:直接dfs模拟即可(二进制找规律是不可能的, 这辈子 ...

  2. 洛谷 P1084 疫情控制 —— 二分+码力

    题目:https://www.luogu.org/problemnew/show/P1084 5个月前曾经写过一次,某个上学日的深夜,精疲力竭后只有区区10分,从此没管... #include< ...

  3. P5657 格雷码【民间数据】

    P5657 格雷码[民间数据] 题解 其实这题水啊 打表找规律 [1]0   1 [2]00   01  11  10 [3]000   001   011   010   110   111   1 ...

  4. 括号树 noip(csp??) 2019 洛谷 P5658

    洛谷AC通道 本题,题目长,但是实际想起来十分简单. 首先,对于树上的每一个后括号,我们很容易知道,他的贡献值等于上一个后括号的贡献值 + 1.(当然,前提是要有人跟他匹配,毕竟题目中要求了,是不同的 ...

  5. 【BZOJ1081】[SCOI2005]超级格雷码(搜索)

    [BZOJ1081][SCOI2005]超级格雷码(搜索) 题面 BZOJ 洛谷 题解 找个规律吧,自己随便手玩一下,就按照正常的顺序枚举一下,发现分奇偶位考虑正序还是逆序就好了. #include& ...

  6. 洛谷 P1379 八数码难题 Label:判重&&bfs

    特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给 ...

  7. 【洛谷P1352】没有上司的舞会

    [洛谷P1352]没有上司的舞会 x舷售 锚」翅θ 但是 拙臃 蓄ⅶ榔 暄条熨卫 翘ヴ馇 表现无愧于雪月工作室的核心管理 爸惚扎掬 颇瓶 芟缆肝 貌痉了 洵┭笫装 嗝◇裴腋 褓劂埭 ...

  8. 洛谷P2756飞行员配对方案问题 P2055假期的宿舍【二分图匹配】题解+代码

    洛谷 P2756飞行员配对方案问题 P2055假期的宿舍[二分图匹配] 飞行员配对方案问题 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架 ...

  9. ⌈洛谷1505⌋⌈BZOJ2157⌋⌈国家集训队⌋旅游【树链剖分】

    题目链接 [洛谷] [BZOJ] 题目描述 Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T ...

随机推荐

  1. 迷你DVD

    public class DVD { private int ID;//id private String status;//状态 private String name;//名称 private S ...

  2. expression select表达式动态构建

    参考: http://blog.csdn.net/tastelife/article/details/7340205 http://blog.csdn.net/sweety820/article/de ...

  3. composer 包 slim使用案例,一个简单的路由解决方案

    nginx配置文件修改 location / { try_files $uri /index.php$is_args$args; } 设置好nginx伪静态,把所有的请求方式都转向到index.php ...

  4. PHP设计模式之命令模式

    命令模式,也称为动作或者事务模式,很多教材会用饭馆来举例.作为顾客的我们是命令的下达者,服务员是这个命令的接收者,菜单是这个实际的命令,而厨师是这个命令的执行者.那么,这个模式解决了什么呢?当你要修改 ...

  5. nuxt.js同路由跳转参数不同,mounted不执行时

    watch: { '$route'(to, from) { if (to.fullPath !== from.fullPath) { this.$nextTick(() => { // 不加th ...

  6. css3 animate转圈360旋转

    .logo{ width:20px; height: 20px; background: red; -webkit-animation:haha1 .8s linear infinite; anima ...

  7. Elasticsearch -head 查询报 406错误码

    问题:利用Elasticsearch -head插件不能查看数据或者在Elasticsearch -linux的curl命令操作时总是提示: {"error":"Cont ...

  8. html5 sessionStorage util

      /** * Created by 13352 on 2018/7/5. */ define(function() { var session = { _id: null, _cookieCache ...

  9. 系统设计实践(03)- Instagram社交服务

    前言 系统设计实践篇的文章将会根据<系统设计面试的万金油>为前置模板,讲解数十个常见系统的设计思路. 前置阅读: <系统设计面试的万金油> 系统设计实践(01) - 短链服务 ...

  10. P4199-万径人踪灭【FFT】

    正题 题目链接:https://www.luogu.com.cn/problem/P4199 题目大意 给出一个只包含\(a,b\)的字符串 求有多少个不连续的回文子序列(字母回文,位置对称) \(1 ...