Можно проще. Давай просто для каждой пары (ak, bk) прибавим 1 ко всем ребрам на пути, если мы научимся это делать быстро, то мы решим задачу. Подвесим граф. Чтобы прибавить 1 к пути от a до b давай найдем их общего предка (LCA) p и прибавим 1 на пути от a до p и на пути от b до p. Но тут уже просто, давай заведем массив, назовем его kek, чтобы обработать путь [a, p] мы сделаем kek[a]++, kek[p]--. Тогда как нетрудно понять для ребра (u, v) (u предок v) ответом будет что-то типа -kek[u] + ∑kek[s], где сумма берется по всем вершинам в поддереве v. Как-то так