Учитывая дерево, мне нужно найти «k-й узел на пути от «a» до «b». Это означает, что мне нужно найти узел в «k-м» положении на пути от узла «a» до узла «b». Я думал о линиях низшего общего предка и / или разложения тяжелого света, но я не уверен, что это способ сделать это. Приветствуется любое руководство в правильном направлении.
Подробности:
- Дерево НЕ является бинарным деревом. Это неориентированный граф с n-1 ребрами, n вершинами и без циклов. Просто ваше обычное дерево
- Дерево имеет вершины, пронумерованные от 1 до n. Существует n-1 неориентированных ребер, соединяющих n-1 пару этих вершин.
- «a» и «b» — любые 2 вершины, пронумерованные в дереве от 1 до n. Нам нужно найти k-й узел на пути от a до b. Гарантируется, что значение «k» равно ‹= количеству узлов на пути от «a» до «b».
BFS, применяемая к каждому запросу (k-й узел от «a» до «b»), не подходит, поскольку количество запросов велико.
a
иb
в тройке? Узел дерева уже определен или вы можете его изменить? Можете ли вы предоставить образец ввода и ожидаемый результат? - person Fede   schedule 25.01.2016