poj 2309 BST
来源:互联网 发布:好的手机壁纸软件 编辑:程序博客网 时间:2024/05/24 03:23
题意 :
大体是说有一颗无限节点的完全二叉树,给出一个节点的标号,求这个节点最左和最右的孩子节点,如图:
如 8,最左和最右的叶子节点为1,15,如10,则为9,11;
这题其实很简单,刚好这几天学的树状数组里有一个lowbit函数,可以求出该节点下有多少个子节点,lowbit(x)= x & (-x);这个操作就是求x的二进制的第一个1所在的位置。
代码:
#include <cstdio>int main(){ int n; scanf("%d",&n); while(n--) { int x; scanf("%d",&x); printf("%d %d\n",x - (x & (-x)) + 1, x +(x & (-x)) -1); } return 0;}
0 0
- poj 2309 BST (^ ^)
- POJ 2309 BST
- poj 2309 BST
- POJ 2309 BST
- POJ 2309 BST
- BST - POJ 2309 水题
- POJ 2309 BST
- poj 2309 BST(lowbit)
- POJ 2309 BST
- poj 2309 BST
- POJ 2309:BST lowbit
- poj 2309 BST
- POJ 2309 BST
- Poj 2309 BST
- POJ 2309 BST
- POJ 2309 BST
- POJ 2309 BST
- poj 2309 BST(水)
- 程序设计项目实训——银行储蓄系统
- 数据库事务隔离级别与锁
- [LeetCode][Java] Rotate List
- 13个js图表插件
- gdb基本命令
- poj 2309 BST
- Regular Expression Matching
- 在Ubuntu安装完成后更改默认的语言LANG,出现Cannot set LC_CTYPE to default locale: No such file or directory错误的解决办法
- JAVA基础-IO流
- ARM Linux 3.x 的设备树(Device Tree)之DTB、DTS
- C++学习总结(一)
- 双击运行Java程序
- 世界并不会在乎你的感受, 直到你拥有足够的实力!
- Linux学习笔记,Linux文件系统,文件管理,目录管理