题目链接:http://poj.org/problem?id=2443

题目大意:给你N个集合,每个集合里有若干个数。M个查询,每个查询有a,b两个数。问是否存在一个集合同时包含a,b这两个数。若存在则输出Yes,否则为No。

康神竟然一下子就想出来了。。

思路:统计每个数在哪个集合出现过,用bitset记录下来。然后对于a,b,则把两个bitset取与。

如果得到空集就是No,否则就是Yes。

 #include <cstdio>
#include <bitset>
#include <algorithm>
#include <cstdlib>
#include <iostream> using namespace std; const int MAX_N = ;
int N;
bitset<> bs[MAX_N]; int main(){
while(scanf("%d",&N)!=EOF){
for(int i=;i<MAX_N;i++) bs[i].reset();
for(int i=;i<N;i++){
int a,an;
scanf("%d",&an);
while( an-- ){
scanf("%d",&a);
bs[a].set(i);
}
}
int M;
scanf("%d",&M);
while(M--){
int a,b;
scanf("%d%d",&a,&b);
bitset<> t = bs[a]&bs[b];
if( t.count() ){
puts("Yes");
} else {
puts("No");
}
}
} return ;
}

[POJ 2443] Set Operation (bitset)的更多相关文章

  1. POJ 2443 Set Operation

    Set Operation Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 3558   Accepted: 1479 Des ...

  2. POJ 2443 Set Operation(压位加速)

    http://poj.org/problem?id=2443 题意: 有1000个集合,每个集合有至多10000个数,之后输入多个询问,判断询问的两个数是否位于同一个集合. 思路: 位运算...很强大 ...

  3. POJ 2443 Set Operation 题解

    本文同时发布于 博客园 洛谷博客 题目链接 题目分析 给你n个集合,每个集合里面都有可能会重复的数字 q个询问,每次询问两个数是否会在同一集合内 $n<=1000$ $q<=200000$ ...

  4. POJ 2443 Set Operation (按位压缩)

    Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set ...

  5. POJ 2443:Set Operation 经典位运算好题

    Set Operation Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 2965   Accepted: 1196 Des ...

  6. POJ2443 Set Operation —— bitset

    题目链接:https://vjudge.net/problem/POJ-2443 Set Operation Time Limit: 3000MS   Memory Limit: 65536K Tot ...

  7. poj 3660 Cow Contest (bitset+floyd传递闭包)

    传送门 解题思路 考试题,想到传递闭包了,写了个O(n^3)的,T了7个点...后来看题解是tm的bitset优化???以前好像没听过诶(我太菜了),其实也不难,时间复杂度O(n^3/32) #inc ...

  8. poj2443Set Operation (bitset)

    Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set ...

  9. bitset常用用法&&简单题分析

    Preface bitset,还是一个比较好用的STL,可以给一些题目做到神奇的常数优化(\(O(\frac{原来的复杂度}{机器的位数(32位or64位)})\)) 关于一些具体的函数等内容可以参考 ...

随机推荐

  1. C# 中如何判断某个字符串是否为空的方法

    C# 中如何判断某个字符串是否为空的方法 分享了三个方法来判断字符串是否为空 引自:http://www.itokit.com/2012/0724/74618.html 1. 三种常用的字符串判空串方 ...

  2. html之label标签

    label标签为input元素定义标注,label标签与相关元素通过id属性绑定在一起. 相关属性: for:规定label绑定到哪个表单元素 form:规定label字段所属的一个或多个表单 示例代 ...

  3. C# 输出pdf文件流在页面上显示

    1 不调用itextsharp.dll的操作 /// <summary>        /// 生成pdf流        /// </summary>        /// ...

  4. 数字根(digital root)

    来源:LeetCode 258  Add Dights Question:Given a non-negative integer  num , repeatedly add all its digi ...

  5. servlet & filter & listener & interceptor

    web.xml 的加载顺序是:context- param -> listener -> filter -> servlet * Servlet 对URL生效,用户处理用户的URL请 ...

  6. nova分析(6)—— nova service启动过程

    Nova project下面具有多个service,api,compute,sceduler等等,他们的启动过程都几乎类似,这一篇博客就详细记录nova-sceduler的启动过程.文章中贴出的源码都 ...

  7. Installing IPython using pip on CentOS

    1. First to install pip # wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py 2. Install i ...

  8. Puppet's Commands 3.7

    Puppet's Commands Puppet’s command line interface consists of a single puppet command with many subc ...

  9. 49. Group Anagrams

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  10. 黄聪:wordpress自定义post_type,并且自定义固定链接

    <? class zsjh { function init() { add_action( 'init', array($this,'create_zsjh') ); add_filter('p ...