[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> #includ…
Set Operation Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 3558   Accepted: 1479 Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set" isn't entirely the same as the "set" defi…
http://poj.org/problem?id=2443 题意: 有1000个集合,每个集合有至多10000个数,之后输入多个询问,判断询问的两个数是否位于同一个集合. 思路: 位运算...很强大!! 用二进制来判断是否位于这个集合,0表示不在,1表示处于在的. 那么对于1000个集合来说,就需要1000位的二进制,一个int型的数可以保存32的二进制,32*32>1000,所以我们只需要32位的数组就可以表示出这1000个集合. #include<iostream> #includ…
本文同时发布于 博客园 洛谷博客 题目链接 题目分析 给你n个集合,每个集合里面都有可能会重复的数字 q个询问,每次询问两个数是否会在同一集合内 $n<=1000$ $q<=200000$ 做法分析 算法一: $\mathcal{O}(nq)$ 的暴力做法 $vis[x][i]$ 表示 x 是否出现在第 i 个集合中,是为1,否为0 每一次询问枚举 算法二: 状态压缩压掉第二维 时间复杂度 $\mathcal{O}(n+q)$ 但是 $n<=1000$ 范围会爆空间 具体做法: vis[…
Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set" isn't entirely the same as the "set" defined in mathematics, and a set may contain two same element). Every element in a set is represente…
Set Operation Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 2965   Accepted: 1196 Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set" isn't entirely the same as the "set" defi…
题目链接:https://vjudge.net/problem/POJ-2443 Set Operation Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 3554   Accepted: 1477 Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set" isn't enti…
传送门 解题思路 考试题,想到传递闭包了,写了个O(n^3)的,T了7个点...后来看题解是tm的bitset优化???以前好像没听过诶(我太菜了),其实也不难,时间复杂度O(n^3/32) #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<bitset> using namespace std; ; inline int rd(){ ,f…
Description You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set" isn't entirely the same as the "set" defined in mathematics, and a set may contain two same element). Every element in a set is represente…
Preface bitset,还是一个比较好用的STL,可以给一些题目做到神奇的常数优化(\(O(\frac{原来的复杂度}{机器的位数(32位or64位)})\)) 关于一些具体的函数等内容可以参考,这里不再赘述.通过一些简单的题目看一下实际运用. Newcoder 132C 简单瞎搞题 这个东西我们感觉可以用类似背包的方法搞一下,记录一下哪些数是是当前可以取到的,可以滚存一下. 但是我们考虑到这样bool数组赋值可能会使复杂度达到\(O(n^4)\),因此我们可以把bool数组改为bitse…