本文主要是介绍poj 2309 按位与 (以x为根的满二叉搜索树的最小节点编号、最大节点编号),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 & 1 = 1
0 & 1 = 0
0 & 0 = 0
按位与就是那一位全部是 1 的时候是为 1
- x 表示为 x 的补码 +1
例如 x = 8时 :
x 0 0 0 1 1 0 0 0
- x 1 1 1 0 1 0 0 0
整数运算 x&(-x):
当 x 为 0 时结果为 0
x 为奇数时,结果为 1
x 为偶数时,结果为 x 中 2 的最大次方的因子
x &( x - 1 ):
去掉x最低位的 1
以x为根的满二叉搜索树的最小节点编号、最大节点编号
#include <stdio.h>int lowbit(int x){return x&(-x);
}int main(){int t;scanf("%d",&t);while(t--){int x;scanf("%d",&x);printf("%d %d\n",x-lowbit(x)+1,x+lowbit(x)-1);}return 0;
}
这篇关于poj 2309 按位与 (以x为根的满二叉搜索树的最小节点编号、最大节点编号)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!