32位0,1字符串做unsigned int, 然后把一个集合所有数用bitset存下(32Gb/8 = 0.5GB大概需要0.5GB的空间),
然后查询另一集合的元素时候,先转换成unsigned int, 然后看这个数是否在bitset里面,看那位是否为1.
----------------------------------------------------------------------------
对于第二问
对于第一个集合,和上述一样的操作,对于第二个集合的数,一个数把每一位转变每个数有32种情况,分别看这32+1(不变)种情况能在第一集合的bitset中。

不知道有没有更好的思路了。