You learned binary lifting, a technique that answers -th ancestor queries in time after preprocessing. You built the sparse table up[v][j] (the -th ancestor of ) using the recurrence up[v][j] = up[up[v][j-1]][j-1]. You answered queries by decomposing into powers of .
You solved three problems: Company Queries I (basic ancestor queries), Company Queries II (LCA with binary lifting), and Kth Ancestor of a Tree Node (LeetCode class-based version). You are now ready for more advanced tree techniques.