对区间[begin,end]进行修改:
1.先将l-1旋转到根,然后将r+1旋转到根的右子节点,这是root->rightChd->leftChd所代表的子树就包括了[begin,end]的所有元素
给区间[begin,end]添加一个值:先执行操作1 然后给root->rightChd->leftChd的标记上加上要添加的值,并且把root->rightChd->leftChd的值加上要加的值,然后再每次进行旋转时将某个点的标记下传
查询:每个点设置一个值,表示以该节点为根的子树的总和,并且在执行旋转时维护
区间翻转待添加
区间删除: 执行操作1 然后删掉root->rightChd->leftChd即可
区间插入:首先把要插入的区间构建成一棵BST 然后把要插入的位置
发表回复