题解:CF1598D Training Session
题目翻译:
给定 $n$ 个互不相同二元组,现在要从其中选出三个二元组,使得这三个二元组的的前一项互不相同或后一项互不相同。求有几种方案。
思路:
正难则反,先算总数:有 $\Large\frac{n \times (n-1) \times (n-2)}{6}$ 种情况。
不满足的情况是没有一个二元组与另一个二元组元素两两不相同(同一个元素)。
也就是就是一个二元组与另一个二元组元素至少一个相同(也是同一个元素)。
考虑用桶记录,$x_i$ 代表 $a_i$ 的出现个数,$y_i$ 代表 $b_i$ 的出现个数。
第一组固定,第二组有 $x_{a_i}-1$ 种,第三组有 $y_{b_i}-1$ 种。
一共有 $(x_{a_i}-1) \times (y_{b_i}-1)$。
代码楼上楼下都已经写的很明白了,我就不在赘述了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 heyZzz's OI Blog!