Range Update Point Query

I’ve been trying to understand Range Update Point Query with Segtree for two days now, and after reading basically every blog on cf (and of course, the solution in the usaco guide), I still don’t quite understand how to do it with segtree without lazy propagation. Can someone explain?

This video might help. I personally think the recursive segment tree implementation is significantly easier to understand than the iterative implementation.