跳转至

CF516D

题意

一棵树,\(f_i\) 表示点 \(i\) 到其他节点最大距离,\(q\) 次询问,求最大的联通块 \(S\) 的大小使得 \(max(f_i) - min(f_i) \le l,i \in S\)

数据范围

\(n \le 10^5, l \le 10^{11},q \le 50\)

题解

将所有点按 \(f_i\) 排序,双指针扫一下,同时维护一个并查集。

当一个点退出时只需要将这个点所属的并查集 \(size-1\) 即可,因为这个点一定是靠近叶子的点,并且不会将这个联通块分成两个不同的联通块。

回到页面顶部