【题解】P10064 [SNOI2024] 公交线路
https://www.luogu.com.cn/problem/P10064
限制相当于:
存在点 \(x\),使得对于所有点 \(u\),都有 \(S\) 中的一条路径跨过 \(x,u\)。
显然,合法的 \(x\) 应该是一个连通块,因为是若干个连通块交。
点减边容斥。
先考虑一定包含某个点怎么计算。
对于不包含该点的所有路径都是可以随意选择或者不选择的。
定根,限制其实是所有叶子都有被覆盖。
考虑枚举一个集合 \(S\) 内的叶子没有被覆盖,容斥系数 \((-1)^{|S|}\)。
那么对应的路径就不能选择。
对于子树内部的叶子,可以 dp 处理出选了 \(i\) 个叶子是没有被覆盖的方案数是 \(f_i\)。
转移大概是:\(g_i\binom{leaf}{j}2^{(S-i)(siz_v-j)}(-1)^j\to f_{i+j}\)。
对于子树内和子树外之间的路径,也是类似枚举 \(\sum_{i,j} f_i\binom{leaf}{j}(-1)^j2^{(siz_u-i)(n-siz_u-j)}=\sum_{i} f_i{(2^{siz_u-i})}^{n-siz_u}\sum_j \binom{leaf}{j}(-{2^{siz_u-i}})^{-j}=\sum_{i} f_i{(2^{siz_u-i})}^{n-siz_u}(1-\frac{1}{2^{siz_u-i}})^{leaf}\)
那么包含某个边,也是类似的思路。
那么整个题就可以做到 \(O(n^2)\) 了。
浙公网安备 33010602011771号