【题解】CF516D Drazil and Morning Exercise

距离最远点可以想到找直径,根据"天生的胆小鬼"给我们的经验,可以发现这题找到直径中点就会很好办。找到直径中点后,提为根,此时对于任意非根节点 \(u\),其权值一定小于父节点权值。

每次询问枚举连通块顶点,然后启发式合并(大概叫 dsu on tree 吧)求子树内权值满足要求的点数。当然也可以考虑用双指针,然后用并查集维护。

【题解】CF516D Drazil and Morning Exercise

上一篇:npm常用命令记录


下一篇:TP5.0实现Layui 回收站功能 数据恢复,强制删除