因为是题目小结,所以还是:\(\mathcal{P}\text{ortal.}\)
CF1109D Sasha and Interesting Fact from Graph Theory
一些闲话:草,我的组合数学真的学得像一坨 \(\color{red}{\text{[data expunged]}}\) 一样。
广义 \(\mathcal{C}\text{ayley}\) 定理:\(n\) 个标号节点形成的有 \(s\) 棵树的森林且给定的 \(s\) 个点没有两个点属于同一棵树的方案数个数为 \(sn^{n-s-1}\).
考虑证明。新建节点 \(0\) 为所有森林的连接点(这里是为了强调 \(\text{pruefer}\) 序列构成的树是没有根的),那么 \(0\) 号点的度数为 \(s\),在序列中出现 \(s-1\) 次。剩下 \((n-1)-(s-1)=n-s\) 次在 \([1,n]\) 中乱选,方案数为 \(\binom{n-1}{s-1}\cdot n^{n-s}\)。但是,由于 \(0\) 号点的存在,我们会将其某棵子树的方案计数多次,因为对于相同结构的子树,连接 \(0\) 号点不同的方案显然有很多种;同时,我们也没有满足给定 \(s\) 个点没有两个点属于同一棵树的限制。为解决这两个问题,我们不妨将给定的 \(s\) 个点钦定为连接 \(0\) 号点的点,这巧妙地满足了两个条件!所以答案是
\[\frac{\binom{n-1}{s-1}\cdot n^{n-s}}{\binom{n}{s}}=sn^{n-s-1}
\]
回到原先的问题,考虑枚举 \(a,b\) 路径上的边数 \(e\),那么中间就有 \(e-1\) 个点。
- 先考虑路径。答案就是 \(\text{A}(n-2,e-1)\cdot \text{C}(m-1,e-1)\),前面是枚举点的排列,后面是用插板法分配边的权值;
- 再考虑其它点与边。由于边权可以任意赋,所以边权方案为 \(m^{n-1-e}\);考虑点,实际上就是接在 \(a,b\) 路径上的点上,使用广义 \(\mathcal{C}\text{ayley}\) 定理,可得方案数为 \((e+1)\cdot n^{n-(e+1)-1}\).