文章目录

  • ResultResultResult
  • HyperlinkHyperlinkHyperlink
  • DescriptionDescriptionDescription
  • SolutionSolutionSolution
  • CodeCodeCode

ResultResultResult


HyperlinkHyperlinkHyperlink

https://www.luogu.com.cn/problem/CF507C


DescriptionDescriptionDescription

一棵高度为hhh的完全二叉树,按照LRLRLRLRLR……LRLRLRLRLR……LRLRLRLRLR……的顺序遍历,若遍历过或无路可走则回溯

求第nnn个访问到的节点
数据范围:h≤50,n≤250h\leq 50,n\leq 2^{50}h≤50,n≤250


SolutionSolutionSolution

考虑目标节点是否在当前所属节点的子树内,否则直接跳过这棵子树(因为这棵子树必然被遍历完),然后加上对应的节点数,不然再进入递归

时间复杂度:O(h)O(h)O(h)


CodeCodeCode

#include<cctype>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;int h;LL n,ans;bool fx;
inline LL read()
{char c;LL d=1,f=0;while(c=getchar(),!isdigit(c)) if(c=='-') d=-1;f=(f<<3)+(f<<1)+c-48;while(c=getchar(),isdigit(c)) f=(f<<3)+(f<<1)+c-48;return d*f;
}
signed main()
{h=read();n=read()-1;while(h--){if(((n>>h)&1)^fx) ans+=1ll<<(h+1);else ans++,fx^=1;}printf("%lld\n",ans);
}

CF507C Guess Your Way Out!相关推荐

最新文章

  1. 网络开源框架之libevent使用实例
  2. html整个项目怎么导出来,怎样将jquery导入web项目中?
  3. 用C语言实现猜单词的小游戏
  4. 开源容器云openshift pdf_OpenShift和Kubernetes的10个最重要的区别
  5. volatile一题
  6. 在线作图丨数据降维分析④——NMDS分析
  7. matlab实现二元函数BP网络,m文件实现bp神经网络逼近二元函数
  8. HCI 基础知识之一
  9. 中国移动的新自由主义精神
  10. 如何注册企业邮箱,联系人邮箱是什么?
  11. 岁月的剪影【五月世界末日】
  12. 浙江单招单考计算机类本科学校,浙江单考单招能报考哪些大学
  13. 工业物联网创新方案亮相2018云栖大会
  14. 中青报X牛客 “百校百企”青年就业扶持计划在京启动,共商青年就业蓝图
  15. 香农采样定理和奈奎斯特采样定理
  16. php的mvc设计模式,什么是MVC设计模式?,
  17. 浅谈MYSQL增量备份
  18. 让米帝领事馆给你报空气质量(动态网页爬取及简单的数据整理)
  19. TFmini和TFmini-Plus——激光雷达模组 资料汇总
  20. Python实战-折线图生成

热门文章

  1. 【结构型模式】《大话设计模式》——读后感 (9)牛市股票还会亏钱?——外观模式
  2. [转]经验分享:微信小程序外包接单常见问题及流程
  3. 专访阿里巴巴毕玄:异地多活数据中心项目的来龙去脉
  4. 你是在独立思考,还是在被洗脑?
  5. 计算机教师暑期到企业实践总结,国培教师企业实践总结
  6. JS实现视频弹幕效果
  7. UART 波特率选择的认识与理解
  8. 那些年,我们一起写的情诗
  9. 线路负载及故障检测装置《我搜集的资料》
  10. 日语中那些表示复数概念的表达方式