有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中,假设都使用了std::bitset的u...
分类:
其他好文 时间:
2015-09-25 20:07:07
阅读次数:
262
北京网络赛的题- -。当时没思路,听大神们说是分块+bitset,想了一下发现确实可做,就试了一下,T了好多次终于过了题意:初始有n个人,每个人有五种能力值,现在有q个查询,每次查询给五个数代表查询的五种能力值,输出有多少个人每种能力值都比查询的小n和q都是50000,每种能力值最大也为50000思...
分类:
其他好文 时间:
2015-09-23 11:47:46
阅读次数:
206
题意:50000个5维向量,50000次询问每一维都不大于某一向量的向量个数,强制在线。思路:做完这题才知道bitset效率这么高,自己本地测试了下1s可以操作1010个bit,orz简单粗暴令S(i)表示第i维比当前向量的i维小的向量集,则答案为count(∩S(i)),0≤i?5每个向量都可以和...
分类:
其他好文 时间:
2015-09-23 10:30:16
阅读次数:
180
1 #include 2 #include 3 #include 4 #define MaxBinLength 16 5 6 //获取无符号数的二进制,这是我自己写的,更简单的方法可以用bitset代替 7 char* getUnsignedBinary(unsigned int num)...
分类:
编程语言 时间:
2015-09-13 14:22:52
阅读次数:
316
对于一条边x->y,若去掉之后x不能到达y,那么它是必需的。首先拓扑排序求出拓扑序,然后按照终点拓扑序为第一关键字,起点拓扑序为第二关键字从小到大加边。对于每个点,维护一个bitset,表示当前从哪些点可以到达自己。时间复杂度$O(\frac{nm}{32})$。#include#include#i...
分类:
其他好文 时间:
2015-09-08 00:09:53
阅读次数:
139
Problem DescriptionEveryone knows Matt enjoys playing games very much. Now, he is playing such a game. There are N rooms, each with one door. There ar...
分类:
其他好文 时间:
2015-09-07 22:31:52
阅读次数:
301
1)如果是直接判断符号位: 1.在进行移位运算的时候要注意,移位运算区分有符号和无符号,有符号的移位操作有风险 2.从小精度到大精度的强制类型转换不会丢失符号位,之后可以采用移位运算 3.取每一位还有bitset类可以实现,但是也只支持ulong 和字符串,添加头文件 #include ...
分类:
其他好文 时间:
2015-09-06 17:50:27
阅读次数:
158
bitmap:是一个十分有用的结构。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 ?????适用范围:可进行数...
分类:
其他好文 时间:
2015-09-05 23:56:38
阅读次数:
531
本来是打算直接用 bitset 解决问题的,转成二进制再转成十进制,相加后再通过逆运算求得最终的字符串。然而却存在一个问题,就是溢出,当给出的二进制过于大的时候,相加就解决不了了,因此就要按照字符串来处理。以下是我的解决方案,虽说很丑,然而速度还行吧:string addBinary(string ...
分类:
其他好文 时间:
2015-09-05 16:21:53
阅读次数:
203