#include <cstdio>
#define lson l , m , rt << 1
#define rson m + 1 , r , rt << 1 | 1
const int maxn = 55555;
int sum[maxn<<2];//x4
void PushUP(int rt) {//区间求和,从叶子节点更新上来
sum[rt] = sum[rt<<1] + sum[rt<<1|1];
}
void build(int l,int r,int rt) {
if (l == r) {//线段树是基于数组的,节点一层一层排下来,完全二叉树
scanf("%d",&sum[rt]);
return ;
}//从父节点出发,左儿子和右儿子是通过数组下标找到的
//而其对应的左端点和右端点是在参数传递的时候......
阅读全文