为什么要用BitSet】的更多相关文章

源代码里有一段: unsigned char map[32]; /* Clear control map */ for (count = 0; count < 32; count++) map[count] = 0; /* Set bits in delimiter table */ do { map[*ctrl >> 3] |= (1 << (*ctrl & 7)); } while (*ctrl++); 这段代码用于计算哪些字符需要分割.map实际上是一个压缩过的…
题目链接 题意: 一棵以1为根的树,树上每个节点有颜色标记(<=60),有两种操作: 1. 可以把某个节点的子树的节点(包括本身)都改成某种颜色 2. 查询某个节点的子树上(包括本身)有多少个不同的颜色 思路: 和2012年多校第7场的G题是同类题,DFS序处理出每个节点管辖的管辖范围[L[u], R[u]],其中L[u]就是子树根节点u所在的位置,用线段树成端更新颜色变化,注意到颜色(<=60),可以用bitset<60>,0表示没有这个颜色,1表示有,异或就能区间合并,最后co…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. //开头 #include <bitset> using std::bitset; 问题1.标准库bitset类型(模版) 需要处理二进制位的时候,可以使用c++标准库提供的bitset类型,它也是类模版,类似vectro容器,唯一不同的是,bitset类型需要说明长度,使用常量表达式给出的整型字面值或者已经初始化的cosnt对象. bitset<> bit;//从0到31位算的,bit的32位每位初始化为0…
C++11之后,bitset的构造函数新加了两种形式: bitset<bits>::bitset (const string& str, string::size_type str_idx, string::size_type str_num, string::charT zero) bitset<bits>::bitset (const string& str, string::size_type str_idx, string::size_type str_nu…
自从c++11起,bitset用于unordered container,将会提供默认的hash函数. 在gcc中,相关代码如下: // DR 1182. /// std::hash specialization for bitset. template<size_t _Nb> struct hash<_GLIBCXX_STD_D::bitset<_Nb>> : public std::unary_function<_GLIBCXX_STD_D::bitset&l…
Matrix multiplication Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Problem Description Given two matrices A and B of size n×n, find the product of them. bobo hates big integers. So you are only asked to find t…
GT and set Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Description You are given N sets.The i−th set has Ai numbers. You should divide the sets into L parts. And each part should have at least one numbe…
题目地址 简要题意: 给出n行m列的0.1矩阵,每次操作可以将任意一行或一列反转,即这一行或一列中0变为1,1变为0.问通过任意多次这样的变换,最多可以使矩阵中有多少个1. 思路分析: 行数比较小,先不考虑对列的操作,将行数的所有情况举出来最多2^10种情况.对于已经固定了对行进行怎样的操作后,这种情况下对列的最优操作就是对每一列,如果此时1比0多就不变,不然就反转.实现在代码中就是一个for循环扫一遍.注意本题反转行.列采用bitset中的flip函数是非常合适的,因为每个数也不是1就是0,恰…
题目链接 http://codeforces.com/gym/100917/problem/J Description standard input/outputStatements The jury of Berland regional olympiad in informatics does not trust to contest management systems, so the Berland regional programming contest is judged by th…
这个比较简单,直接上代码: bitset< > *b = >(); bitset< > *c = >(); ofstream out("I:\\test.dat",ios::binary); ); out.close(); ifstream in("I:\\test.dat", ios::binary); ; i < c[].size();) { ; in.read(&temp, sizeof(char)); ; j…