「WC2019」数树

文中大写字母均表示树的边集。

(op = 0)

答案就是 (y^{n - |T1cap T2|}),随便开个什么东西统计一下就好了。

(op = 1)

要求:

[sum_{T2} y^{n - |T1cap T2|} ]

考虑容斥。注意到有 (f_{S} = sum_{Tsubseteq S}sum_{Rsubseteq T}left(-1 ight)^{|T| - |R|}f_{R})(此处,(f_S = y^{n - |S|})),代入得:

[egin {align*} & sum_{T2} sum_{Ssubseteq T1cap T2}sum_{Tsubseteq S}left(-1 ight)^{|S| - |T|}y^{n - |T|} \ = & sum_{Ssubseteq T1}g_Ssum_{Tsubseteq S}left(-1 ight)^{|S| - |T|}y^{n - |T|} \ = & sum_{Ssubseteq T1} g_S y^{n - |S|} sum_{k = 0}^{|S|} inom{|S|}{k}left(-y ight)^{|S| - |T|} \ = & sum_{Ssubseteq T1} g_S y^{n - |S|} left(1 - y ight)^{|S|} \ end {align*} ]

其中 (g_{S}) 表示包含边集 (S) 的树的数量。

(S) 形成了 (k) 个连通块,它们的大小序列为 ({a_i}),易知 (k = n - |S|)。关于这个 (g_S) 有一个结论,就是 (g_S = n^{k - 2}prod a_{i})(证明在最后)。代入可得

[egin {align*} & sum_{Ssubseteq T1} y^{k} left(1 - y ight)^{n - k} n^{k - 2}prod a_{i} \ = & frac {left(1 - y ight)^{n}} {n^{2}} sum_{Ssubseteq T1} prod frac {ny} {1 - y} a_{i} \ end {align*} ]

(k = frac {ny} {1 - y}),考虑它的组合意义,即从每个连通块中选出一个点给答案乘 (k) 的贡献。

考虑 dp,记 (dp_{u, 0/1}) 表示考虑 (u) 这棵子树,(u) 所在连通块是否造成贡献,所有已确定的连通块的贡献的和。转移是显然的,注意转移时候的顺序。

(op = 2)

只有我感觉 (op = 2)(op = 1) 简单吗

类似 (op = 1) 地推导,快进掉过程,可以得出关于答案的柿子:

[frac {left(1 - y ight)^{n}} {n^{4}} sum_{T} prod frac {n^{2}y} {1 - y}a_{i}^{2} ]

枚举 (T) 似乎不太好处理,于是转而枚举连通块的大小序列 ({a_{i}})。对于一个大小为 (a_{i}) 的连通块,内部有 (a_{i}^{a_{i} - 2}) 种连边方案,那么对于一个连通块,它的生成函数可以表示为:

[sum frac {n^{2}yk^{k}} {1 - y}x^{k} ]

根据 exp 的组合意义,可以得到答案就是:

[frac {left(1 - y ight)^{n}} {n^{4}}n![x^{n}]expleft( sum frac {n^{2}yk^{k}} {left(1 - y ight)k!}x^{k} ight) ]


注意特判 (y = 1)

Code

Proof

(n) 个点,包含 (k) 个大小序列为 ({a_i}) 的连通块的生成树个数。

先把每个连通块看成一个点,考虑它的 ( ext{Prufer}) 序列。假设连通块 (i) 在序列中出现了 (d_{i}) 次,则答案为:

[left(prod a_i ight)left(k - 2 ight)!sum_{sum d_{i} = k - 2}prod frac {a_{i}^{d_{i}}} {d_{i}!} ]

后面那个东西有一个 (sum d_{i} = k - 2) 的限制,不难想到使用生成函数来描述。具体地,答案为:

[left(prod a_i ight)left(k - 2 ight)![x^{k - 2}] prod sumfrac {a_{i}^{k}} {k!}x^{k} ]

观察后面那个 (sumfrac {a_{i}^{k}} {k!}x^{k}),不就是 (e^{a_{i}x}) 吗。所以答案也就是:

[left(prod a_i ight)left(k - 2 ight)![x^{k - 2}] e^{sum a_{i}x} ]

容易发现这和前面给出的结论是一致的。

原文地址:https://www.cnblogs.com/realSpongeBob/p/WC2019T1.html