因为每个集合的大小都是 $n$,两个集合的交至少是 $n/2$ 相当于两个集合的对称差不超过 $n$。我们估计每一对集合对称差的总和,最多是 $(n/2+1)(n/2)2n=(n/2+1)n^2$,而如果每一对集合的对称差都大于 $n$,即至少是 $n+2$,那么对称差的总和至少应当是 $(n+1)(n/2)(n+2)>(n/2+1)n^2$,矛盾。所以一定存在一对集合的对称差不超过 $n$。
我们不能暴力去枚举每一对集合并检验,但是我们可以快速计算出一个集合与其他所有集合的对称差的总和然后用抽屉原理来估计。用类似上面的分析,一定存在一个集合能过通过这样的方法判断有解。之后再枚举其他集合,$O(n)$ 判断即可。
时间复杂度 $O(n^2)$。