如何优化此题的算法?
有一个集合V{0,1,2,3,4,......N} (N<1000)
有一个数组String a[],其中a的元素是由V的子集构成,a的长度为200000;
举例来说
比如 a[0]=1|6|7 (其中|为分隔符)
a[1]=2|10
.
.
.
a[m]=1|2|3|6|7
.
.
.
a[k]=100|101
.
.
.
a[200000]=1|100|101|200
a[m] 中包含了1、2、3、6、7,a[0]中包含了1、6、7,显然a[0]是a[m]的子集,此时则去掉数组元素a[m];
a[k]中包含100、101,a[200000]包含了1、100、101、200,显然a[k]是a[200000]的子集,此时则去掉数组元素a[200000];
也就是说只要数组元素a[i]在a中含有a[i]的子集,则去掉a[i]。
处理完数组a后,输出新的数组。
我的解法一直停留在二重循环上面的局部优化 , 不知道哪位有更好的解法?
我刚开始用过多叉树, 感觉还是不行阿, 郁闷