【知识点】长链剖分&Dsu-On-Tree&prufer序列

长链剖分:

跟重链剖分类似,只不过把重儿子从大小最大的改成最大深度最深的。

只要是以深度为下标的操作都可以用,比如$O(n)$统计每个子树内深度为u的点数。

 

Dsu-On-Tree:

跟长链剖分类似的一个小trick。

轻重链剖分后,对于每个点先递归解决轻儿子并暴力清除其贡献,然后递归解决重儿子并保留其贡献。

随后暴力枚举一遍轻子树内的所有点,更新答案。

总复杂度$O(n\log{n})$,可以用来数子树中出现最多的颜色之类的。

 

Prufer序列:

懒得研究构造了,直接记结论吧:

  • n个点的有标号无根树个数为$n^{n-2}$。
  • n个点的有标号有根树个数为$n^{n-1}$。

 

posted @ 2020-08-11 20:14  Fugtemypt  阅读(167)  评论(0编辑  收藏  举报