计数相关做题记录
CF1097G Vladislav and a Great Legend
因为 \(n^m=\sum \limits _i \binom{n}{i} S(m,i) i!\),则 \(f(x)^k=\sum \limits _i \binom{f(x)}{i} S(k,i) i!\)。
现在考虑 \(\sum \limits _X\binom{f(X)}{i}\)。也就是从点集构成的边集中选择 \(i\) 条边的方案数。定义 \(f_{u,j}\) 表示从以 \(u\) 为根的子树中选择的点集所构成的边集选择 \(j\) 条边的方案数。我们 dp 时考虑合并 \(u,v\) 两个点集,\(u\) 是 \(v\) 的父亲:
- 如果点集全在 \(u\) 中,那么 \(f_{u',i}\leftarrow f_{u,i}\)。
- 如果点集全在 \(v\) 中,那么有 \(f_{u',i}\leftarrow f_{v,i},f_{u',i}\leftarrow f_{v,i-1}\)。最后一个转移是选择 \((u,v)\) 这条边,这一步不应该合法的。为什么会这样呢?其实是为了第三步的合并做准备。
- 如果点集在 \(u,v\) 中均有,那么 \((u,v)\) 这条边选不选都合法。则有 \(f_{u',i+j+0/1}\leftarrow f_{u,i}f_{v,j}\)。
如何统计答案?答案其实不是 \(f_{1,i}\),因为我们在第二种情况做了特殊处理,所以我们只能在第三种情况时额外开一个数组统计生成树以 \(u\) 为根时的方案数。
P10005 [集训队互测 2023] 基础寄术练习题
首先考虑 \(k=1\) 的特殊情况,\(f(a)=\dfrac{1}{\prod\limits _{i=1}^n s_i}\)。对于一个集合 \(\{a_1,a_2,\dots,a_n\}\) 我们有:\(\sum f(a')=\prod \limits _{i=1}^n \frac{1}{a_i}\),其中 \(a'\) 表示 \(a\) 的所有排列。证明:
考虑这样一个组合意义,有 \(n\) 种小球,每种小球有 \(a_i\) 个。对于任意 \(1\leq i\leq n-1\),第 \(i\) 种小球的最后一次出现位置在第 \(i+1\) 种小球最后一次出现位置之前的概率为 \(\prod \limits _{i=1}^n \dfrac{a_i}{s_i}\)。对于 \(a\) 的所有排列 \(a'\),有 \(\sum \prod \limits _{i=1}^n \dfrac{a'_i}{s'_i}=1\),这是比较显然的。那么有 \(\sum f(a')=\prod \limits _{i=1}^n \frac{1}{a_i}\)。

浙公网安备 33010602011771号