题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1540
此题的D,R操作非常简单,需要注意的就是Q求和操作,在进行求和的时候,需要检查一下所求点是否都位于左右子树的区间内,如果是的话那么就返回左子树的右连续最长加上右子树的左连续最长,(如果不懂可以画图验证一下),如果所求点的区间只位于左子树,与右子树没有相连,那么只需要递归左子树求左子树内的和就可以了,反正如果所求点只位于右子树也是相同操作。
ac代码:
#include
#include
#include
#include
#include