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\) 即可,因为这个点一定是靠近叶子的点,并且不会将这个联通块分成两个不同的联通块。