退役前写的东西
简单介绍
定义1:(prufer)序列是无根树的一种数列。通过一棵阶为(n)的树转化来的(prufer)数列长度为(n-2)
构造1:无根树转(prufer)序列
序列初始为空
(1))找到编号最小的度数为(1)的点
(2))删除该点,同时在(prufer)序列中添加与该点唯一相邻的点的编号
(3))重复上述操作,直到树仅剩两个节点
推论1:度数为(p)的点在(prufer)序列中出现(p-1)次
构造2:(prufer)序列转无根树
初始点集(S={1,2,...,n}),(n)为无根树的阶
(1))取(prufer)序列最前面的元素(x),并将其从序列中删除
(2))在(S)中找到最小的没有在(prufer)序列中出现的元素(y)
(3))将((x,y))添加进(E),并在(S)中将两元素删除
(4))如果|S|=2,则将这两点的点对加入(E)
推论2:无根树与(prufer)序列呈双射关系
根据构造1,构造2容易一一对应起来
定理1((Caylay)):阶为(n)的树个数有(n^{n-2})
推论3:阶为(n)的树,给定每个点(i)的度数(deg_i),则树的个数为$$frac{(n-2)!}{prodlimits_{i=1}^n(deg_i-1)!}$$
应用
以下(n)默认为树的阶
(1)):强制(deg_1=k),树的个数为:(inom{n-2}{k-1}(n-1)^{n-k-1})
(2)):(K_nsetminus e)的支撑树个数为((n-2)n^{n-3})
考虑出现(e)的个数
(e)出现在某个支撑树的概率为(frac{n-1}{inom{n}{2}}),则期望次数为(frac{n-1}{inom{n}{2}} imes n^{n-2}=2n^{n-3})
(n^{n-2}-2n^{n-3}=(n-2)n^{n-3})
(3)):设(T)为某个支撑树,有任意序列({x_1,x_2,...,x_n}),则有(prodlimits_{i=1}^n x_i(sumlimits_{i=1}^n x_i)^{n-2}=sumlimits_{T}prodlimits_{i=1}^n x_i^{deg_i})
即证((sumlimits_{i=1}^n x_i)^{n-2}=sumlimits_{T}prodlimits_{i=1}^n x_i^{deg_i-1})
将其展开,即为编号与(x)一一映射后的求值
(4)):(n)个点,组成(m)棵树的个数为(mn^{n-m-1})(钦定树根)
将(m)个点缩成(1)个点,且(x_1=m),其他点(x_i=1),然后代入(3))即可
(4)):求(K_n)中各点度数均不超过(3)的支撑树个数
设(n_1,n_2,n_3)分别为度数(1,2,3)的个数
当确定(n_1,n_2,n_3)时,个数为(inom{n}{n_1,n_2,n_3}frac{(n-2)!}{2^{n_3}})
有(n_1+2n_2+3n_3=2n-2),又度数为(2)的点在树上仅有一个儿子,易得(n_1=n_3+2,n_2=n-2n_3-2)
则个数为((n-2)!sum_{n_3=0}^{lfloorfrac n2 floor-1}2^{-n_3}frac{n!}{n_3!(n_3+2)!(n-2n_3-2)!};)
根据OEIS sequence A003692
有((n+2)a_n = n(2n-1)a_{n-1} + (n-3)(n-1)na_{n-2};.)
(5)):(K_{m,n})的支撑树个数为(m^{n-1}n^{m-1})
证明1:
考虑改化(prufer)序列的构造方式,依然选择叶子,但每次固定特定区域的叶子选择
设(mle n),我们这样添加进来:
(underbrace{mathsf{N,N,dots,N}}_{n-m},underbrace{mathsf{N,M,N,Mdots,N,M}}_{2(m-1)})
结论:在(K_{m,n})的支撑树中,((mle n)),(n)部分总有至少一个叶子节点((2n>n+m-1))
证明2:
令(x^T=x_1^{deg_1-1}x_2^{deg_2-1}cdots x_n^{deg_n-1})
令(P_{n,m}=sumlimits_{T}x^T),(Q_{n,m}=(x_1+x_2+cdots+x_m)^{n-1}(x_{m+1}+cdots+x_{m+n})^{m-1})
我们可以证明(P_{n,m}=Q_{n,m})
令(P_{m,n}^i=sum_{substack{T ext{ such that}\ v_i ext{ is a leaf}}} x^T),显然(P_{m,n}^i=P_{m,n}Big|_{x_i=0})
我们有如下转化
(sum_{Tin LHS}x^T=x_{m+j}sum_{Tin RHS}x^T)
根据归纳我们能得到
综合得到
由于(P_{m,n}Big|_{x_i=0}= Q_{m,n}Big|_{x_{i}=0}),(x_i)是(P_{m,n}-Q_{m,n})的因数。进一步的,(prod x_i)是(P_{m,n}-Q_{m,n})的因数,所以阶数为(m+n)
根据(P_{m,n},Q_{m,n})的定义,其阶数是(n+m-2)
故(P_{m,n}=Q_{m,n})
(6)):(n)个点(n)条边的无向连通图的个数为(sum_{k=3}^{n}frac{n!n^{n-k-1}}{2(n-k)!})
n个点选k个点作为树根:(inom{n}{k} imes n^{n-k-1} imes k)
前(n-k-1)个位置随便选,第(n-k)个位置的时候只剩下环和某个点,然后某个点选择环上一个点作为父亲
然后剩下算环的方案数就行
(sum_{k=3}^{n}inom{n}{k} imes n^{n-k-1} imes k imes frac{(k-1)!}{2})
(7)):(K_n),给定一个(f)个点的树,包含其的支撑树个数为(n^{n-f-1}f)
将这棵树缩起来,枚举其与剩下((n-f))个点的度数,然后根据((1))
(sum_{k=1}^{n-f} inom{n-f-1}{k-1} (n-f)^{n-f-k} f^k)
(8)):(2n)个点的数,(n)个叶子节点的生成树个数为({2nchoose n} {2n-2race n} n!)
证明1:
选择叶子集合,剩下(n)个点,由于不是叶子节点,必定出现在prufer序列中
证明2:
钦定有多少个点没有出现过容斥
(sum_{r=n}^{2n}(-1)^{r-n}cdot{r choose n}cdot{2n choose r}cdot(2n-r)^{2n-2})
(9)):(K_n),怎么删掉两条边生成树个数最大
缩点:
(e_1,e_2)相邻
(sum_{i=0}^{n-4}3^{i+1}inom{n-4}{i}(n-3)^{n-4-i})
枚举出现次数(i),则有(i+1)条边
(e_1,e_2)不相邻
(sum_{i=0}^{n-4}inom{n-4}{i}2^{i+2}2^i(n-4)^{n-4-i})
(2^{i})为对(e_1,e_2)分类