- G: a vector of strings, find a pair with max of strlen(a) * strlen(b) 1. O(n*k): get std::bitset() of each string 2. O(nlgn): sort strings by leng.....
分类:
其他好文 时间:
2015-01-18 11:48:41
阅读次数:
168
C++标准库:bitset 用法整理std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。下面看一个例子:#includestd::bitset bs;...
分类:
其他好文 时间:
2015-01-15 17:36:15
阅读次数:
201
利用C++中的bitset来检查生成的随机数是否重复。...
分类:
其他好文 时间:
2015-01-09 23:48:15
阅读次数:
274
该项目分析了目前主流分布式通讯相关开源产品中使用的No Schema序列化产品Kryo,Fastjson,Hessian的序列化机制,通过构造相对比较复杂的数据model,针对序列化size,序列化时间进行了细致测试。通过测试报告可以清晰的看出Kryo无疑是大赢家,无论是序列化大小,还是速度上都更胜一筹,这也就不难理解为什么Spark,Storm等流计算框架会选它作为序列化工具。另外,可以看出这三款软件在BitSet,EnumSet等特殊类型的序列化上还有不少问题,作者也给Kryo,Fastjson社区提了...
分类:
其他好文 时间:
2015-01-07 18:49:57
阅读次数:
151
利用STL中的优先级队列进行优化
我将压缩和解压分为两部分,其实一些还是是一样的
压缩的时候通过bitset将每8个01串压缩成一个字节,如果最后一个不满足8个,用0补齐,但是要记录最后一个字节实际有多少个有效位,将其存入文件最后一个字节,解压的时候先将文件定位到最后一个字节,取出有效位的个数,压缩文件真正有效的是倒数第二个字节,倒数第一个字节只是记录倒数第二个字节中有几位是有效的,解压的时候...
分类:
其他好文 时间:
2015-01-03 17:21:41
阅读次数:
155
C++定义了一个内容丰富的抽象数据类型标准库,其中最重要的标准库类型是string和vector,它们分别定义了大小可变的字符串和集合。string和vector往往将迭代器用作配套类型,用于访问string中的字符,或者vector中的元素。
另一种标准库类型为bitset,提供了一种抽象方法来操作位的集合。
string类型支持长度可变的字符串,vector用于保存一组指定类型的对象。
...
分类:
编程语言 时间:
2014-12-28 18:20:00
阅读次数:
248
1, JAVA最初版本只为最常用的数据结构提供了很少的一组类:Vector、Stack、Hashtable、BitSet与Enumeration接口,从JAVA1.2版本开始推出了一组功能完善的的数据结构。集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。就使用集合容器进....
分类:
编程语言 时间:
2014-12-24 21:19:21
阅读次数:
529
题目大意:给定一个序列,每个数都由60个最小的素数的乘积构成,求某段的乘积的欧拉函数值对19961993取模后的值,支持单点修改
19961993是个质数 出题人还是满贴心的
利用线段树维护乘积取模后的值以及哪些素数出现过 后者用bitset维护
得到的值根据bitset里出现过的素数来计算欧拉函数值
时间复杂度O(nlog10W+60n)
#include
#include
#in...
分类:
其他好文 时间:
2014-12-24 14:43:30
阅读次数:
249
题目大意:给出一张有向图,若一个点能够到达另一个点,那么说这两个点是一对联通点。问图中共有多少联通点。
思路:先进行一次Tarjan,求出所有的scc,对于一个scc中的点,对答案的贡献就是cnt^2,不同的scc组成了一张可拓扑图,然后对于每个scc维护一个bitset,来统计他自己和标号比它小的scc中共有多少个不同的点。然后进行dp,其中不停的或就可以了。
第一次使用bitset...
分类:
Web程序 时间:
2014-12-23 15:38:11
阅读次数:
238
今天的课程设计终于查完了,做了将近一周的Huffman也暂时告一段落了。其间用到了压缩,又开拓了眼界,又认识了一个头文件,那我们接下来就小结一下用到的压缩方法。
压缩:
while(str.size() >= 8){
string str2(str, 0, 8); //从str中读取前8位
bitset foo(str2);...
分类:
编程语言 时间:
2014-12-19 19:08:39
阅读次数:
309