2024.9.30 闲话
歌:でいどりーむ - 豆カカオ feat. 初音ミク .
以前模拟赛有个遗留问题,就是那个随机父节点树结点 \(x\) 子树大小为 \(i\) 的方案数怎么算的 . 首先有朴素 DP:
\[dp_{i,j}=\begin{cases}(x-1)!&i=j=0\\(i+x-2)\cdot dp_{i-1,j}&j=0\\(i+x-j-2)\cdot dp_{i-1,j}+j\cdot dp_{i-1,j-1}&\text{otherwise.}\end{cases}
\]
然后答案就是 \(dp_{n-x,i-1}\) .
经过一些抽象可以考虑对于常数 \(k\) 解决这样一个递推:
\[a_{i,j}=\begin{cases}1&i=j=0\\(i+k)\cdot a_{i-1,j}&j=0\\(i-j+k)\cdot a_{i-1,j}+j\cdot a_{i-1,j-1}&\text{otherwise.}\end{cases}
\]
这个递推想用生成函数可能比较困难 . 看成一个格路计数的问题,从 \((n,m)\) 走到 \((0,0)\),每次可以走以下两种步:
- \((i,j)\to(i-1,j)\):权值为 \(i-j+k\) .
- \((i,j)\to(i-1,j-1)\):权值为 \(j\) .
一种走法的权值是每步的权值之积,求所有走法的权值和 .
注意到走第二种步实际上是不影响 \(i-j\) 的,所以两部分的贡献独立,可以直接导出答案:
\[a_{n,m}=m!(n-m+k)^{\underline{n-m}}\dbinom nm=m!\cdot\dfrac{(n-m+k)!}{k!}\cdot\dfrac{n!}{m!(n-m)!}=n!\dbinom{n-m+k}{k}
\]
把结果代回到原式中即可得到最终答案,这里放一下具体式子:\((n-x)!(x-1)!\dbinom{n-i-1}{x-2}\) .
图
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/18440756
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ