P10053 [CCO 2022] Bi-ing Lottery Treekets 思路
链的情况不难
按深度排序组合计数
\(dp_{u,i}\) 表示到了 \(u\) 这个点,有 \(i\) 个 ⚽ 会从上面下来,设这个节点是父节点的左儿子
枚举 \(j\) 为一定要到左子树去的在 \(u\) 号点的 ⚽ 的个数
如果 \(i+j \le siz_{l_u} - sum_{l_u}\)
\[dp_{u,i} \leftarrow dp_{l_u,i+j} \times dp_{r_u,cnt_u-i} \times C_{cnt_u}^j \times A_{i+j}^{j} \times (cnt_u-i)!
\]
如果 \(siz_{l_u} - sum_{l_u} < i+j < siz_u-sum_u\)
\[dp_{u,i} \leftarrow dp_{l_u,siz_{l_u} - sum_{l_u}} \times dp_{r_u,cnt_u+j-(siz_{l_u} - sum_{l_u})} \times C_{cnt_u}^{j} \times A_{siz_{l_u} - sum_{l_u}}^{j} \times A_{cnt_u+j-(siz_{l_u} - sum_{l_u})}^{cnt_u-j}
\]
如果 \(i+j = siz_u-sum_u\)
\[dp_{u,i} \leftarrow dp_{l_u,siz_{l_u} - sum_{l_u}} \times dp_{r_u,siz_{r_u}-sum_{r_u}} \times C_{cnt_u}^{j} \times A_{siz_{l_u} - sum_{l_u}}^{j} \times A_{siz_{r_u}-sum_{r_u}}^{cnt_u-j}
\]

浙公网安备 33010602011771号