很无语。
一开始脑抽,把交集和并集的概念搞混了。
后面猛然一想:并集?这不是大水题么。
然后 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)}
\]
然后没了。