1. 某些出题人设置的正解是 dsu on tree 的题
-如 [CF741D](http://codeforces.com/problemset/problem/741/D) 。给一棵树,每个节点的权值是'a' 到'v' 的字母,每次询问要求在一个子树找一条路径,使该路径包含的字符排序后成为回文串。
+ 如 [CF741D](http://codeforces.com/problemset/problem/741/D) 。给一棵树,每个节点的权值是'a' 到'v' 的字母,每次询问要求在一个子树找一条路径,使该路径包含的字符排序后成为回文串。
-因为是排列后成为回文串,所以一个字符出现了两次相当于没出现,也就是说,这条路径满足 **最多有一个字符出现奇数次** 。
+ 因为是排列后成为回文串,所以一个字符出现了两次相当于没出现,也就是说,这条路径满足 **最多有一个字符出现奇数次** 。
-正常做法是对每一个节点 dfs,每到一个节点就强行枚举所有字母找到和他异或后结果为 1 的个数大于 1 的路径,再取最长值,这样是 $O(n^2\log n)$ 的,可以用 dsu on tree 优化到 $O(n\log^2n)$ 。关于具体做法,可以参考下面的扩展阅读
+ 正常做法是对每一个节点 dfs,每到一个节点就强行枚举所有字母找到和他异或后结果为 1 的个数大于 1 的路径,再取最长值,这样是 $O(n^2\log n)$ 的,可以用 dsu on tree 优化到 $O(n\log^2n)$ 。关于具体做法,可以参考下面的扩展阅读
2. 可以用 dsu 乱搞的题
-可以水一些树套树的部分分(没有修改操作),还可以把树上莫队的 $O(n\sqrt{m})$ 吊着打
+ 可以水一些树套树的部分分(没有修改操作),还可以把树上莫队的 $O(n\sqrt{m})$ 吊着打
### 练习题