算法思路
有关树上拓扑排序计数问题的结论
给定 \(N\) 个点的有根树,考虑其拓扑排序计数的个数。
总排列数为 \(N!\),我们考虑把每个节点加入限制。
我们令 \(size_u\) 表示以 \(u\) 为根节点的子树的拓扑排序总数。
对于根节点一定满足根节点为第一个,那么总方案数就被缩减为 \(\frac {N!}{size_{root}}\)
依次加入限制,归纳可得 \(Ans=\frac {N!}{\prod_{i=1}^Nsize_i}\)
给定 \(N\) 个点的有根树,考虑其拓扑排序计数的个数。
总排列数为 \(N!\),我们考虑把每个节点加入限制。
我们令 \(size_u\) 表示以 \(u\) 为根节点的子树的拓扑排序总数。
对于根节点一定满足根节点为第一个,那么总方案数就被缩减为 \(\frac {N!}{size_{root}}\)
依次加入限制,归纳可得 \(Ans=\frac {N!}{\prod_{i=1}^Nsize_i}\)