Please don't practice segment tree if you are below purple.
Why?
If you want to solve non-trivial segment tree problems, you should
- actually understand how segment tree works;
- have decent implementation skills;
- be able to convert the given problem into a segment tree problem.
If you are able to learn all these things, you already have purple skills. Conversely, if you are not purple, most probably you won't manage to actually learn segment tree.
Examples
- Blog 1: the author asks how to solve a problem. Someone replies, linking a comment about another problem whose solution is almost identical to the original problem. The comment contains a detailed explanation of the solution and an AC code.
The author of the blog replies that he can't implement the problem. It turns out it's because the provided AC code uses a segment tree as a struct.