题目大意:
$给出平面上的n个点,每个点有唯一的标号(\text{label}),这n个标号的集合记作S,点可能重合。求满足下列条件的S的子集T的数目:$
$1. |T|\ge 2$
$2.T中的点共线$
Solution:
$我们考虑其中至少有两个不同(指坐标不同,下同)点(符合条件)的子集T的数目,只包含一个点的子集T的数目很容易计算。$
$考虑两不同点u, v所决定的直线上的点,将这些点的集合记作P_{uv},考虑P_{uv}的子集对答案的贡献\text{cnt}_{u,v}。$
$设|P_{uv}|=k,则\text{cnt}_{uv}=2^k-k-1-\text{single}(P_{uv}),其中\text{single}(P_{uv})指P_{uv}的只包含一个点的子集T的数目。$
$现在固定u,计算一共能得到几个P_{uv}$
时间: 2024-10-18 20:15:38