其实也不是很猎奇
首先对于距离为 kkk 的点对,可以找到他们的 lca。
那么可以考虑在dfs的过程中枚举这个 lca,就相当于把他的不同的子树中距离他的一个 k - i 级子孙和一个 i 级子孙合并(自己算自己的 0 级子孙)
又发现一个点的 i 级子孙在 bfs 序列上必然是一段区间,原问题可以转化为区间向区间连边。
然后线段树优化建图跑 01 bfs,复杂度 Θ(nklogn)\Theta(nk\log n)Θ(nklogn) 常数比较大,但是 atcoder 3s 应该不成问题?
然而 T 了 3 个点,有没有什么优化方法还 qwq