考虑由 n 个有限集合组成的集合 A,其成员不一定是不相交的。令 P={P[1], P[2], ..., P[m]} 是 A 的一个分区,并且对于 1..m 中的每个 i,令 U[i] 是所有的并集P[i] 的元素。所以 U={U[1], U[2], ..., U[m]}。我想要一个算法来找到一个 P 使得相应的 U 是一个分区,并且使得 U 的最小和最大元素之间的基数(即大小)差异最小化。
数据特征:
- m 很小(2 到 5)且 n<10000
- 通常,A 中有很大比例的一元集
- A 中的成对集合之间的交点通常很小或为空