形式的冪級数、ケイリーの公式、Prüfer コード

atcoder.jp

難しかったけど解説ACしたら何かわかったような気がしたのでメモ。

解法の考え方

  • N頂点ラベル付き木は、各要素が1~Nで長さN-2の配列に1対1対応させることができる。(Prüfer コード。これを使うと、N頂点ラベル付き木の個数が $N^{N-2}$ 個であることがわかる(ケイリーの公式)。)

  • 上記方法で対応させた配列における、各数字の登場回数(の集合)が、元の木の次数-1(の集合)と対応する

  • 逆に木の次数の集合${d_i}$を固定したとき、それに対応する木の種類数が、$\frac{(N-2)!}{\prod_{i} (d_i-1)!}$となる

  • 次数の集合は、グラフが木であることから、​総和が$2N-2$となる必要がある

  • 次数の和の部分を仮の変数xに対する指数として考える。$\frac{x^{d_i}}{(d_i-1)!}$という項を掛け合わせると、係数(に定数$(N-2)!$をかけたりしたもの)が種類数、xの指数が次数の和、に対応する。

  • この掛け算の結果において、xの指数が2N-2になっていれば木の条件を満たす。

  • そこで、各s_iに対応する項を持つ関数 $f= \sum_{s\in S} \frac{x^{s}}{(s-1)!} $(母関数)を考えて、これを十分な数かけ合わせたのち、$x^{2N-2}$の係数を見てやることで答えがわかる。

  • 元の式にある(N-2)!を忘れずに。

https://atcoder.jp/contests/abc303/submissions/44151410

マークダウンの数式の書き方忘れたので後で書く

(追記) 調べたら出たけど思ったより面倒だった。

63rabbits.hatenablog.com

Qiitaの数式チートシート - Qiita