9-step walkthrough. Node pop-in khi allocate. Lazy badge hiển thị khi tag != null. ← → nav.
STEP 1 — INITIAL
Trục $[0, 7]$. Chỉ root $[0,7]$ tồn tại ban đầu. Lazy sparse segtree.
Pop $[0,7]$. Giao $[2,5]$ không full → phải allocate 2 con.
Tạo $[0,3]$ và $[4,7]$ on-demand. Cả 2 chưa có gì, $\text{sum}=0$, $\text{lazy}=\bot$.
Xuống $[0,3]$: giao $[2,3]$ không full, allocate tiếp.
$[2,3]$ phủ hoàn toàn trong $[2,5]$ → set lazy=3, $\text{sum}=2 \cdot 3=6$. Không xuống sâu hơn.
Bên phải: $[4,5]$ phủ hoàn toàn → set lazy=3, sum=6. $[6,7]$ ngoài khoảng.
Bubble-up sum: $[0,3]=6$, $[4,7]=6$, root $=12$. set(2,5)=3 hoàn tất.
set(4,7)=2 cần xuống $[4,5]$. Nó có lazy=3 cũ → push_down: tạo $[4,4]$, $[5,5]$ với lazy=3.
Final: sau cả 3 op, root $=14$. Mỗi op $O(\log \text{range})$, node $O(\text{ops} \cdot \log \text{range})$ thay vì $O(\text{range})$.