[ZJOI2018]树の思路总结
\[f(i,j)表示生成jk棵大小为i的树全部同构的方案数\\
g(i,j,t)表示用大小不超过i的树生成大小和为t的一堆树的等价类的大小的jk次幂和\\
f(i,j)=g(i-1,j,i-1)\\
枚举大小为i的子树个数v做背包\\
g(i,j,t)=\sum\limits_{iv+k=t}g(i-1,j,k)h(i,j,v)\binom {t}{iv}^{jk}\\
\binom {t}{iv}^{jk}是在重分配标号,乘上扩大等价类大小倍数的jk次方的贡献。\\
h(i,j,v)表示使用v棵大小为i的树,等价类大小的jk次幂和\\
然后为了计算h,我们引入群论计数的知识\\
定义\text G是一个长度为m的置换群,大小为m!,换言之\text G包含所有的m长度置换\\
定义一个森林的向量集合X,\forall x\in X,x内部为有序的等价类(颜色)标号。\\
定义元素的权值w(x)=\prod\limits_{i=1}^mf(I,a_ij),不难发现任意轨道元素权值相等\\
于是我们定义w(x^G)=w(x)\\
现在需要的是所有轨道的权值和\\
h(i,j,v)=\sum\limits_{x\in X}\frac {w(x^G)}{|x^G|}\prod\limits_{i=1}^m\frac 1{(a_i!)^{jk}}\\
因为这个权值不讲武德,我们考虑使用\text{burnside}引理的加权形式。\\
定义c(f)的权值为所有不动点的和,不难证明,
\sum\limits_x\frac {w(x^G)}{|x^G|}=\frac 1{|G|}\sum\limits_{f\in G}w(c(f))\\
好,考虑如果我们把后面的东西强行放进轨道里,不动点的权值之间就无法转移。\\
因为\frac 1{(x!)^k}\frac 1{(y!)^k}\neq \frac 1{(x+y)!^k}\\
于是我们考虑构造稳定化子的权值,\\
令W(f)为置换f的权值,定义W(G_x)为所有稳定化子中置换的权值和。\\
再看一眼h(i,j,v)=\sum\limits_{x\in X}\frac {w(x^G)}{|x^G|}\prod\limits_{i=1}^m\frac 1{(a_i!)^{jk}}\\
令\prod\limits_{i=1}^m\frac 1{(a_i!)^{jk}}=A
\]
\[如果构造\frac{|x^G|W(G_x)}{|G|}=A,则有\\
\sum\limits_x\frac {w(x^G)}{|x^G|}A=\frac 1{|G|}\sum\limits_fW(f)w(c(f))\\
为什么成立?考虑\text{burnside}的引理的证明过程,稳定化子的权值是在对点k的不动置换求和。\\
这里我们还是枚举置换,对相应的不动点乘上本身的置换求和。\\
其实就是
\sum\limits_{x\in X}w(x)\sum\limits_{f\in G_x}W(f)=\sum\limits_{f\in G}W(f)\sum\limits_{x\in c(f)}w(x)\\
随便换一下带进去就可以证明了\\
那么先假设我们构造成功了,我们就有h(i,j,v)=\frac 1{v!}\sum\limits_{f}W(f)w(c(f))\\
好,现在这个东西没法直接做,我们自然想到\text{P}\acute{\text{o}}\text{lya}定理。\\
于是我们考虑将f表示为\{a_1,a_2,\ldots,a_m\}这些长度分别为1到m的轮换,这些轮换互相独立。\\
我们只需要给轮换构造权值W(a_i),那么就有\\
W(f)w(c(f))=\prod\limits_{i=1}^mf(I,a_ij)W(a_i)\\
这个时候可以转移了,注意到两维的乘积在变小,所以j也有了边界。\\
我们再考虑转移里的一些细节,\\
我们要处理的是对所有置换f去求上面的式子的和,但是这肯定不行,\\
于是我们考虑得到一个S(v)表示所有长度为v的置换权乘不动点权的和,\\
也就是h(i,j,1...n)需要的值乘|G|=v!。\\
诶我们看看这个东西怎么搞,令q(i)=W(i)f(I,ji),枚举长度为i的轮换个数a_i,我们得到\\
S(n)=n!\sum\limits_{\sum\limits_{i=1}^mia_i=n}\prod\limits_{i=1}^m\frac{q(i)^{a_i}}{i^{a_i}a_i!}\\
为什么?可分解为轮换\{a_1,a_2,\ldots,a_m\}的置换个数是\frac{n!}{\prod\limits_{i=1}^mi^{a_i}a_i!}\\
\]
\[现在考虑构造置换环系数
当置换环长度为1时,可以直接构造系数。\\
带入|G_x|=|G|的一个向量x,换言之,x内的所有颜色相同。\\
根据\frac{W(G_x)}{|G_x|}=A=\prod\limits_{i=1}^m\frac 1{(a_i!)^{jk}}\\
那么\frac {W(G)}{|G|}=\frac 1{(m!)^{jk}}\\
同时长度为n的置换的和也是置换环做背包的结果,即\\
\sum\limits_{\sum\limits_{i=1}^mia_i=n}\prod\limits_{i=1}^m\frac{W(i)^{a_i}}{i^{a_i}a_i!}=\frac{W(G)}{|G|}=\frac 1{(m!)^{jk}}
\]
update:注意上面h没有重分配标号,做完背包之后还要乘一个\(\frac {iv!}{(i!)^v}^{jk}\)来考虑重分配标号的贡献,背包可以用exp,ln来实现