Binary lifting preprocessing takes time and space. You fill a table of rows and columns, where each entry takes . A single DFS computes all depths in time. Each LCA query takes time because you iterate through at most powers of twice: once to equalize depths, once to climb together.
For queries, total time is . Space is for the up table. This is fast enough for most competitive programming problems with . The main bottleneck is the factor per query, which Euler tour + RMQ can eliminate.