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