Groups
Category
A functional graph is a directed graph where every node has exactly one outgoing edge, so repeatedly following edges from any start eventually loops into a cycle.
Binary lifting precomputes 2^k ancestors for every node so we can jump upward in powers of two.