Lazy Tag 查询Sum && 区间更新
1.Lazy Tag 查询Sum void pushdown(int sn) { if (node[sn].add != 0) { node[sn * 2].add += node[sn].add; node[sn * 2 + 1].add += node[sn].add; node[sn * 2].sum += node[sn].add * (node[sn * 2].r - node[sn * 2].l + 1); node[sn * 2 + 1].sum += node[sn].add * (node[sn * 2 + 1].r - node[sn * 2 + 1].l + 1); node[sn].add = 0; } } //查询sum ll query(int sn, int l, int r) { if (node[sn].l == l && node[sn].r == r) { return node[sn].sum; } pushdown(sn); int mid = node[sn].mid(); if (r <= mid) return query(sn * 2, l, r); else if (l > mid) return query(sn * 2 + 1, l, r); else { return query(sn * 2, l, mid) +