传送门
题意:给出n个集合(n<=1000),每个集合中最多有10000个数,每个数的范围为1~10000,给出q次询问(q<=200000),每次给出两个数u,v判断是否有一个集合中同时含有u,v两个数
枚举每一个集合,看看是否同时又u和v,显然超时
用bitset维护每一个数所在集合,求解的时候直接u & v即可
#include <cstdio> #include <bitset> using namespace std; int n, m; bitset <1001> t, s[10001]; int main() } scanf("%d", &m); for(i = 1; i <= m; i++) } return 0; }
上一篇:[BZOJ1574] [Usaco2009 Jan]地震损坏Damage(贪心 + dfs)
下一篇:[BZOJ1572] [Usaco2009 Open]工作安排Job(贪心 + 堆)
stl bitset









