line
一个结论是, Lk(T)Lk(T) 的每个节点在原树上是一个不超过 k+1k+1 个点的连通块。
考虑用括号序列枚举所有不同的有根树,利用树哈希来去重,这样的树大概 10001000 个,然后答案就是它的贡献乘上它在原树上的出现次数。
在原树上的出现次数可以直接状压DP,可以加一个剪枝,就是叶子单独提出来最后用组合数计算,注意要除以自同构的方案数。
一棵有根树 TT 的贡献可以计算 的节点数 VLk(T)VLk(T) ,然后枚举它的所有连通子树,去掉属于它们的节点数。
考虑如何计算 VLk(G)VLk(G) ,记 didi 表示 ii 的度数:
VL2(G)=∑di(di−1)2VL2(G)=∑di(di−1)2
VL3(G)=∑di(di−1)(di−2)2+∑e(du−1)(dv−1)VL3(