/*线段树维护区间最大/小值就是按照原来给出的数据的顺序建造一颗二叉树,然后每一个节点维护 这个节点的子节点且包含这个节点的值中的最大/小值*/#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>usingnamespacestd;#definell long longconstintMAX_LEN =1000;intseg_tree[MAX_LEN <...
if(l<=L&&R<=r){returntree[x].Max;}//如果当前节点区间完全被要查询区间包含 直接返回该节点的最大值即可51if(r<L||l>R)return0;//如果当前区间不在要查询区间里面,返回一个不影响其他查找的最小值 0 (学生分数都是正数)52//int mid=L+R>>1;53longlongans=0;54ans=max(query(x<<1,l,r),...