Used recursion at tons of Codeforces / ICPC problems with some caching(commonly known as "dynamic programming")