POJ3468 线段树的区间操作
今晚做这题,因为使用 int 型贡献了不少的 WA,最后改成 long long 就过了。这题一看就可以明显注意到使用线段树来写了,原来不是很经常写更新区间的问题,在此对更新区间查找区间的题目进行一下总结。
更新区间的函数,注意记录一个增量 来表示这个区间从它的父亲结点继承下来的增量,当我们找到一个区间时候,就把增量全部转化为 ,也就是这个区间的总和,然后对 进行继承操作,最后清空 ,之后就是三种情况的二分了。
对于求和函数,类似的,我们要先处理继承问题,然后二分查找结果,最后返回。
更新区间查找区间的题目一般比较烦,需要记录父亲结点继承的增量,所以我们把 对应的区间的边界也加入到结点信息中,这样可以大大减少函数的参数。