POJ2309BST【树状数组的理解】
2015-04-25 18:05
225 查看
大意:
对于这个树
告诉你一个节点问这个节点下的最小值和最大值
分析:
这个题考查对于树状数组的理解, 每个节点的前一个节点都是依次向前的 比如 10--8--4--2--1 后一个节点都是一次往后的比如10--12--16……
那么我们观察发现每个节点的最小值都是他爹+1,最大值都是他妈-1
代码:
View Code
对于这个树
告诉你一个节点问这个节点下的最小值和最大值
分析:
这个题考查对于树状数组的理解, 每个节点的前一个节点都是依次向前的 比如 10--8--4--2--1 后一个节点都是一次往后的比如10--12--16……
那么我们观察发现每个节点的最小值都是他爹+1,最大值都是他妈-1
代码:
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 int lowbit(int x) { 7 return x & ( - x ); 8 } 9 10 int main() { 11 int n; 12 int t; 13 scanf("%d",&t); 14 while(t--) { 15 scanf("%d",&n); 16 int n1 = n - lowbit(n); 17 printf("%d", n1 + 1); 18 int n2 = n + lowbit(n); 19 printf(" %d\n", n2 - 1); 20 } 21 }
View Code
相关文章推荐
- POJ2309BST【树状数组的理解】
- POJ2309BST(树状数组)
- POJ2309 BST(树状数组)
- POJ 2309 BST (树状数组)
- 树状数组的理解
- 深入理解树状数组
- 树状数组理解
- 【算法】逆序对问题的四种解法(归并排序,BST,树状数组,线段树)及变形
- POJ 2309 BST(树状数组)
- hdu5975_Aninteresting game_树状数组理解
- HDU1166 敌兵布阵 树状数组|线段树-构造完全二叉树(理解)
- 树状数组的大概理解
- POJ 2309 BST 树状数组基本操作
- 仔细理解线段树和树状数组
- 【树状数组】POJ 2309 BST
- 树状数组点更新,区间更新理解
- POJ 2309 BST 树状数组基本操作
- 数据结构:线段树(树状数组、BST、LCA、
- 树状数组浅显理解以及Ultra-QuickSort的AC代码
- -----树状数组的理解