This document summarizes algorithms for solving the lowest common ancestor (LCA) problem and range minimum query (RMQ) problem in trees. It presents a reduction from LCA to RMQ that allows solving LCA in O(n) time using an O(n) time RMQ algorithm. It describes several RMQ algorithms, including a naive O(n^3) time algorithm, an O(n^2) dynamic programming algorithm, and an O(n log n) sparse table algorithm. For the special case where the values in the array differ by at most 1, it presents an O(n) time and O(1) time RMQ algorithm based on partitioning the array into blocks.