先说一下dsu算法. 例题:子树众数问题. 给出一棵树,每个点有点权,求每个子树中出现次数最多的数的出现次数. 树的节点数为n,\(n \leq 500000\) 这个数据范围,\(O(n \sqrt n)\)直接莫队会超时. 考虑一种暴力做法: 开一个全局数组,记录每中数的出现次数. 依次对每个点,用dfs遍历它的子树,并记录每种数的出现次数. 遍历结束后,找到众数,记录结果,并清空这个数组,进行下一次遍历. 可以发现,在最坏情况(例如一条链),算法的时间复杂度是\(O(n^2)\)的. 但是…