CF689E 题解

发布时间 2023-11-05 16:37:21作者: 2021cjx

很无语。

一开始脑抽,把交集和并集的概念搞混了。

后面猛然一想:并集?这不是大水题么。

然后 coding,ans 还忘记取模了。


回归正题,求的是

\(n\) 条线段中取 \(k\) 条线段,其中有多少个点被 \(k\) 条线段覆盖,求所有方案的答案和。

规约为贡献计算。

考虑点的贡献,假设本点被 \(x\) 条线段覆盖,贡献显然为

\[\begin{pmatrix} x\\k \end{pmatrix} \]

用一个 map 处理下差分,然后直接做就好了。

预处理下组合数:

\[\begin{pmatrix}n\\k\end{pmatrix} = \frac{n!}{k!(n-k)!} = \frac{(n-1)!}{k!(n-k)!} \times n = \frac{(n-1)!}{k!(n-k-1)!} \times \frac{n}{(n-k)} = \begin{pmatrix}n-1\\k\end{pmatrix} \times \frac{n}{(n-k)} \]

然后没了。