I found this tutorial helpful for people learning Sqrt-Decomposition - http://acm.math.spbu.ru/~sk1/mm/lections/mipt2016-sqrt/mipt-2016-burunduk1-sqrt.en.pdf

This tutorial contains tutorial on -

- Sqrt-Decomposition on Trees (Heavy-Light)
- Sqrt-Decomposition on Strings
- Sqrt-Decomposition on Arrays
- Sqrt-Decomposition on Arrays (Split and Rebuild)
- Query-Buffering (Sqrt-Decomposition on Queries)

If anyone have any problem understanding something, lets discuss in reply :)