参考博客: C++ bitset使用教程
bitset最基础的练习题
示例程序:
#include<cstdio>
#include<bitset>
using namespace std;
#define nc getchar
int n,q;
bitset<1002> S[10002];
inline int red(){
int res=0,f=1;char ch=nc();
while (ch<'0'||'9'<ch) {if (ch=='-') f=-f;ch=nc();}
while ('0'<=ch&&ch<='9') res=res*10+ch-48,ch=nc();
return res*f;
}
int main(){
n=red();
for (int i=1;i<=n;i++)
for (int j=1,k=red();j<=k;j++)
S[red()].set(i);
q=red();
while (q--){
int i=red(),j=red();
if ((S[i]&S[j]).any()) printf("Yes\n");else printf("No\n");
}
return 0;
}

本文介绍了一道利用 C++ 中 bitset 类实现的基础练习题。通过读取输入,为特定位置设置标志,并检查两个集合是否有交集。适用于初学者理解和掌握 bitset 的基本用法。
1205





