[POJ 2443] Set Operation (bitset)
题目链接: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)的更多相关文章
- POJ 2443 Set Operation
Set Operation Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 3558 Accepted: 1479 Des ...
- POJ 2443 Set Operation(压位加速)
http://poj.org/problem?id=2443 题意: 有1000个集合,每个集合有至多10000个数,之后输入多个询问,判断询问的两个数是否位于同一个集合. 思路: 位运算...很强大 ...
- POJ 2443 Set Operation 题解
本文同时发布于 博客园 洛谷博客 题目链接 题目分析 给你n个集合,每个集合里面都有可能会重复的数字 q个询问,每次询问两个数是否会在同一集合内 $n<=1000$ $q<=200000$ ...
- POJ 2443 Set Operation (按位压缩)
Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set ...
- POJ 2443:Set Operation 经典位运算好题
Set Operation Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 2965 Accepted: 1196 Des ...
- POJ2443 Set Operation —— bitset
题目链接:https://vjudge.net/problem/POJ-2443 Set Operation Time Limit: 3000MS Memory Limit: 65536K Tot ...
- poj 3660 Cow Contest (bitset+floyd传递闭包)
传送门 解题思路 考试题,想到传递闭包了,写了个O(n^3)的,T了7个点...后来看题解是tm的bitset优化???以前好像没听过诶(我太菜了),其实也不难,时间复杂度O(n^3/32) #inc ...
- poj2443Set Operation (bitset)
Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set ...
- bitset常用用法&&简单题分析
Preface bitset,还是一个比较好用的STL,可以给一些题目做到神奇的常数优化(\(O(\frac{原来的复杂度}{机器的位数(32位or64位)})\)) 关于一些具体的函数等内容可以参考 ...
随机推荐
- Splashscreen
Splashscreen Enables developers to show/hide the application's splash screen. Methods show hide Perm ...
- $_SERVER 相关变量
PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用. $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root ...
- 请使用GameBench.jar 文件启动 GameBench服务
请使用GameBench.jar 文件启动 GameBench服务 电脑上安装JAVA JRE:http://www.oracle.com/technetwork/java/javase/downlo ...
- 剑指offer系列53---字符串转化成整数
[题目]将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数 * []整数(32位)最大值:0X7fff ffff( 0111 1111 1111 1111 1111 1111 1111 1 ...
- gridview例子
直接贴代码 MainActivity.java public class MainActivity extends AppCompatActivity { private GridView _grid ...
- C语言每日一题之No.3
几天下来,感慨学习要坚持下来真的是件很难的事,本来说了每天一题,可是毕竟这是个细活,需要用心雕琢,有时候真的不能当天拿下来>_<.虽然说只是一题,却涉及到很多小细节,慢慢的琢磨直至完全摸透 ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- SparkSQL相关语句总结
1.in 不支持子查询 eg. select * from src where key in(select key from test); 支持查询个数 eg. select * from src w ...
- BIP_开发案例08_BI Publisher图表示例 饼状图/直方图/折线图(案例)
2014-12-25 Created By BaoXinjian
- CE_现金账户转账汇入汇出交易(案例)(未完成)
2014-07-15 BaoXinjian 一.摘要 二.案例 通过 Oracle Payments 结算事务处理 通过付款模板 事物处理子类型 已验证 -> 正在结算中 ->