算法思路
有关树上拓扑排序计数问题的结论
给定 (N) 个点的有根树,考虑其拓扑排序计数的个数。
总排列数为 (N!),我们考虑把每个节点加入限制。
我们令 (size_u) 表示以 (u) 为根节点的子树的拓扑排序总数。
对于根节点一定满足根节点为第一个,那么总方案数就被缩减为 (frac {N!}{size_{root}})
依次加入限制,归纳可得 (Ans=frac {N!}{prod_{i=1}^Nsize_i})
有关树上差分和可持久化线段树结合的思考
总所周知,可持久化线段树本质是前缀和,而前缀和与差分是互逆操作,所以这两者的结合可能能处理一些问题。
我们对每一个节点 (u) 到根节点的路径建立可持久化线段树,那么查询 (u ightarrow v) 的路径上节点的信息可以被表示成一个树上差分的形式。
[info_u+info_v-info_{lca}-info_{fa_{lca}}
]