Наименьший общий предок. Нахождение за O (1) с препроцессингом O (N) (алгоритм Фарах-Колтона и Бендера) http://e-maxx.ru/algo/lca_linear - в этой программе в функции main надо 1м делом запустить void dfs (int v, int curh) ?
где v - Это произовльно выбранный нами корень? а какую величину задать curh?
Всмысле 1м делом - после того как зададим граф? способом "номер вершины - номера смежных с ней вершин"