From 4e9368dfc57d0a6e882974dc30b3f84ce722f139 Mon Sep 17 00:00:00 2001 From: YDZ Date: Thu, 12 Sep 2019 20:08:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- template/SegmentTree.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/template/SegmentTree.go b/template/SegmentTree.go index c495537a..86277c81 100644 --- a/template/SegmentTree.go +++ b/template/SegmentTree.go @@ -133,6 +133,9 @@ func (st *SegmentTree) updateInTree(treeIndex, left, right, index, val int) { } // 更新 [updateLeft....updateRight] 位置的值 +// 注意这里的更新值是在原来值的基础上增加或者减少,而不是把这个区间内的值都赋值为 x,区间更新和单点更新不同 +// 这里的区间更新关注的是变化,单点更新关注的是定值 +// 当然区间更新也可以都更新成定值,如果只区间更新成定值,那么 lazy 更新策略需要变化,merge 策略也需要变化,这里暂不详细讨论 // UpdateLazy define func (st *SegmentTree) UpdateLazy(updateLeft, updateRight, val int) {