摘要: std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。下面看一个例子:#includestd::bitset bs;//它是一个模板,传递的参数告诉编译器bs有8个位。我们接着看上面的代码,通过上面两行的代码我们得到一个bitset的对象bs,bs可以装入8个位,我们可以通过数组的下标运算符来存取:bs[0]=1;//把第0位设置为1bs[3]=true;//把第3位设置为1,因为true可以转换为1bs[7]=0;//这个大家都明白了bitset 阅读全文
posted @ 2013-10-18 19:20 baoff 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出一个字符串和若干个单词,问这些单词在字符串里面出现了多少次。单词前面为0表示这个单词可重叠出现,1为不可重叠出现。分析:可重叠出现的单词可以直接用ac自动机就解决。至于不可重叠的单词,可以用一个数组来记录下每个这种单词上一次出现的位置,假如当前得到这个单词的位置和上一次的位置之间足够放下一个单词(即两个位置的坐标差大于等于单词长度)时才算一次,具体的可以看程序。//#pragma comment(linker, "/STACK:102400000")#include#include#include#include#include#include#include 阅读全文
posted @ 2013-10-18 17:23 baoff 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 题意:给出n个字符串,以及每个字符串的权值,求权值最大,字符串长度不超过m,最短且字典序最小的字符串。//#pragma comment(linker, "/STACK:102400000")#include#include#include#include#include#include#include#include#include#include#include#include#define tree int o,int l,int r#define lson oq; for(int c=0; cans)//先保证值最大 { ans=max(ans... 阅读全文
posted @ 2013-10-18 11:21 baoff 阅读(155) 评论(0) 推荐(0) 编辑