这题其实相同了就好,通过观察发现,其实树状数组的每个点的管辖范围就是题目的图上的节点的左子树
所以就很简单了
不懂得可以对比下面两张图
AC代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main(){
int T, X;
cin >> T;
while( T-- ){
cin >> X;
cout << X - (X&-X) + 1 << " " << X + (X&-X) - 1 << endl;
}
return 0;
}