摘要: "传送门" 题意 一棵根为1的树,每条边上有一个字符(a v共22种)。 一条简单路径被称为Dokhtar kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中最长的Dokhtar kosh路径的长度。 题解 既然要重新排列,那么这个路径的条件就是: 简单路径 路径中 22 阅读全文
posted @ 2020-03-31 17:54 BakaCirno 阅读(182) 评论(0) 推荐(0) 编辑
摘要: "传送门" 题解 这种统计所有子树的题肯定是可以用树上启发式合并做的。 预处理出每个点到根节点的距离,和重儿子。 然后开始做启发式合并,关键是如何统计每个节点的答案。 这里我参考了点分治的处理思路,在统计每个节点的答案之前,我一直了它一颗子树的所有信息,然后我就先遍历完它的一颗子树,将这颗子树的所有 阅读全文
posted @ 2020-03-31 13:55 BakaCirno 阅读(128) 评论(0) 推荐(0) 编辑
摘要: "传送门" 好像大家都是拿这道题作为树上启发式合并的板子题。 树上启发式合并,英文是 dsu on tree,感觉还是中文的说法更准确,因为这个算法和并查集(dsu)没有任何关系。一般用来求解有根树的所有子树的统计问题。 根据轻重儿子的各种性质,可以证明这个算法的时间复杂度为 $O(nlogn)$, 阅读全文
posted @ 2020-03-31 11:52 BakaCirno 阅读(132) 评论(0) 推荐(0) 编辑