娄底市网站建设_网站建设公司_Redis_seo优化
2026/1/17 18:33:48 网站建设 项目流程

题目传送门:AGC060C Large Heap。

首先这个东西完全就是一个满二叉树的堆,相当于权值顺序要为一个拓扑,且 \(U\)\(V\) 前面。

\(U,V\)\(A+1\)\(B+1\) 层的最左和左右端点。

那么 \(U,V\) 分别是两条最左或最右的链。

而拓扑序的开头一定为 \(1\),分成两棵树,然后再找一个根再分裂,那么我们只需要考虑存在 \(U,V\) 的树,剩下的随便填即可,那么最主要的就是存在 \(U,V\) 的两棵树的深度。

考虑 dp,设 \(s_i\) 表示深度为 \(i\) 满二叉树拓扑方案数,\(g_{i,j}\) 表示两棵树的深度分别为 \(i,j\) 的方案数,\(f_{i,j}\) 表示概率。

转移的话考虑选择左右那个树。

\[s_i = s_{i-1}^2 C_{2^i-2}^{2^{i-1}-1} \]

\[g_{i,j}=g_{i-1,j} s_{i-1} C_{2^i+2^j-3}^{2^{i-1}-1} + g_{i,j-1}s_{j-1}C_{2^i+2^j-3}^{2^j-1} \]

\[f_{i,j}=\frac{g_{i,j}}{s_is_jC_{2^i+2^j-2}^{2^i-1}} \]

\(g_{i,j}\) 代入 \(f_{i,j}\) 并用 \(f\) 表示 \(g\) 化简可得

\[f_{i,j}=f_{i-1,j}\frac{2^i-1}{2^i+2^j-2} + f_{i,j-1}\frac{2^j-1}{2^i+2^j-2} \]

显然初始时 \(f_{n-A,j}=1\) 其中 \(j\ge n-B\)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询