【题单】计数专题训练3
https://cplusoj.com/d/senior/contest/69d3206a1363e1a076a75a8a
P4091 [HEOI2016/TJOI2016] 求和
容斥有 \(S_2(n,k)=\sum_{i=0}^{k} (-1)^{k-i}\frac{i^n}{(k-i)!i!}\)。
第二个组合数可以递推:\(\sum_{j=0}^{n} (\binom{j+1}{t+1}-\binom{j}{t+1})(-2)^j\),有 \(F_t=\frac{F_{t+1}+\binom{n+1}{t}(-2)^{n+1}}{-2}-F_{t+1}=\frac{-3F_{t+1}}{2}+\binom{n+1}{t}(-2)^n\)。
P4827 [集训队互测 2011] Crash 的文明世界
\(n^k=\sum_{i=0}^{k} S_2(k,i)n^{\underline i}\),这样我们只需要维护 \(\binom{n}{i}\)。
\(\binom{n+1}{i}=\binom{n}{i-1}+\binom{n}{i}\) 容易 \(O(nk)\) 维护。
CF961G Partitions
https://www.cnblogs.com/TalBana/p/19470175
P10591 BZOJ4671 异或图
斯特林反演,设 \(f_i\) 表示至少有 \(i\) 个连通块的方案数,\(ans_i\) 表示恰有 \(i\) 个连通块的方案数。那么有 \(f_i=\sum_{j\ge i}S_2(j,i)ans_j\Leftrightarrow ans_i=\sum_{j\ge i} (-1)^{j-i}S_1(j,i) f_j\)。
考虑求 \(f_i\),所有连通块的划分方案数是 \(B_n=O(10^5)\),可以接受。
那么我们只考虑连通块之间的边集 \(mask\),将所有图 \(map_i\cap mask\) 插入线性基,我们求可以造出 0 的方案数。显然是 \(2^{k}\),其中 \(k\) 表示没有插入到线性基中的元素数量。
HDU4624 Endless Spin
Min-Max 容斥,考虑 \(T\) 集合内有某个点被涂黑的期望步数。
令 \(p\) 表示选中 \([l,r]\) 包含 \(T\) 中某个元素的概率,则期望步数是 \(\frac{1}{p}\)。这个概率可以正难则反,dp 求出。
复杂度 \(O(Tn^4)\)。
P5643 [PKUWC2018] 随机游走
Min-Max 容斥,\(E(\max S)=\sum_{T\subseteq S,T\ne \varnothing} (-1)^{|T|+1}E(\min T)\),也就是我们需要求出到达 \(T\) 中某一个点的期望步数。
将 \(x\) 设为根。
先考虑 \(u\) 到 \(T\) 中某一点的期望步数。根据归纳法,每个节点的期望步数 \(d_u\) 都可以表示为 \(k_ud_{fa}+b_u\)。
化减一下:\(d_u=\frac{d_{fa}+\deg u+\sum b_v}{\deg u-\sum k_v}\)。
对于 \(u\in T,d_u=0\)。这样我们递推后,得到 \(b_x\),由于 \(x\) 没有父亲所以答案即为 \(b_x\)。做一遍高维前缀和即得到答案。
P5400 [CTS2019] 随机立方体
考虑钦定有 \(i\) 个极大的数,他们不能有某一维是相同的。
用 \(n^{\underline i}m^{\underline i}l^{\underline i}\) 选出他们放哪。
然后考虑剩余的数,他们可以用一个树的拓扑结构描述。
也就是 \(\prod_{j=1}^{i} \frac{1}{nml-(n-j)(m-j)(l-j)}\)。
然后考虑容斥系数,\(f_i=\sum_{k\ge i} \binom{k}{i}ans_k\)。
即 \(ans_k=\sum_{i\ge k}(-1)^{i-k}\binom{i}{k}\)。
浙公网安备 33010602011771号