Bitset小结 (POJ2443 & HDU4920)】的更多相关文章

学了下bitset用法,从网上找的一些bitset用法,并从中调出一些常用的用法. 构造函数bitset<n> b; b有n位,每位都为0.参数n可以为一个表达式.如bitset<5> b0;则"b0"为"00000"; bitset<n> b(unsigned long u); b有n位,并用u赋值;如果u超过n位,则顶端被截除如:bitset<5>b0(5);则"b0"为"00101&…
模板题.S[i][j]表示i是否存在于第j个集合里.妈蛋poj差点打成poi(波兰无关)是不是没救了. #include<cstdio> #include<bitset> using namespace std; int n,m,x,y; bitset<1000>S[10001]; int main() { scanf("%d",&n); for(int i=0;i<n;++i) { scanf("%d",&…
题目链接: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…
bitset bitset大概就是类似于bool数组一样的东西 但是它的每个位置只占1bit(特别特别小) bitset的原理大概是将很多数压成一个,从而节省空间和时间(暴力出奇迹) 一般来说bitset会让你的算法复杂度 $/32$(具体是什么要看计算机) 定义与初始化 使用bitset类型需$#include<bitset>$ bitset类型在定义时就需要指定所占的空间,例如 bitset<>bit; bitset类型可以用string和整数初始化(整数转化成对应的二进制)…
先把两个矩阵全都mod3. S[i][j][k]表示第i(0/1)个矩阵的行/列的第k位是不是j(1/2). 然后如果某两个矩乘对应位上为1.1,乘出来是1: 1.2:2: 2.1:2: 2.2:1. 然后分这四种情况把bitset and 起来,然后用count()数一下个数,计算下对答案矩阵该位置的贡献即可. #include<cstdio> #include<bitset> using namespace std; #define N 801 int n,x; bitset&…
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 represented by a posit…
传送门 题意:给出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…
因为是模3,所以把原矩阵拆成两个01矩阵,然后按分配律拆开分别进行矩阵乘法,行列用bitset来存进行优化即可 注意 int bitset<int>::count() 函数可以统计bitset里有多少1 int bitset<int>::any() 函数可以统计bitset里是否有1  /* (A+B)*(C+D)=A*C+A*D+B*C+B*D */ #include<bits/stdc++.h> using namespace std; #define maxn 8…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. //开头 #include <bitset> using std::bitset; 问题1.标准库bitset类型(模版) 需要处理二进制位的时候,可以使用c++标准库提供的bitset类型,它也是类模版,类似vectro容器,唯一不同的是,bitset类型需要说明长度,使用常量表达式给出的整型字面值或者已经初始化的cosnt对象. bitset<> bit;//从0到31位算的,bit的32位每位初始化为0…
整体二分和CDQ分治 有一些问题很多时间都坑在斜率和凸壳上了么--感觉斜率和凸壳各种搞不懂-- 整体二分 整体二分的资料好像不是很多,我在网上找到了一篇不错的资料:       整体二分是个很神的东西,它可以把许多复杂的数据结构题化简.它的精髓在于巧妙地利用了离线的特点,把所有的修改.询问操作整体把握.       先说说第k大数吧,这种问题是整体二分的标志性题目,什么划分树啊,主席树啊,树套树啊见了整体二分都得自叹不如.首先对于一次询问来说我们可以二分答案,然后通过验证比答案大的数有多少个来不…