What is a segment tree and what is it good for? | LetsGit.IT