算法
fdcumt
沉寂一颗躁动的心不止需要勇气更需要毅力
展开
-
kmp算法
kmp算法精髓在于next数组(我这里是nextval),而next数组的构造精髓在于模式串的自身匹配。构造next数组:首先 置next[0]为-1,假设对于模式串位置为i的字符匹配失败,对该字符前的字符串进行前缀和后缀的最大匹配,如果匹配失败字符和匹配的最大前缀(前缀和后缀匹配后得出)后面的字符相等, nextval[i]=nextval[j];//将模式串移到nextval[j]位置原创 2013-07-06 23:02:54 · 556 阅读 · 0 评论 -
详解volatile在C++中的作用
volatile的介绍 volatile类似于大家所熟知的const也是一个类型修饰符。volatile是给编译器的指示来说明对它所修饰的对象不应该执行优化。volatile的作用就是用来进行多线程编程。在单线程中那就是只能起到限制编译器优化的作用。所以单线程的童鞋们就不用浪费精力看下面的了。没有volatile的结果 如果没有volatile,你将无法在多线程中并转载 2013-08-12 10:47:47 · 572 阅读 · 0 评论 -
hdu2089
#include #include using namespace std;typedef long long LL;const int MaxBit=22;LL dp[MaxBit][2][2];//LL dp[MaxBit][3][2];/*杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,原创 2013-08-11 22:35:58 · 571 阅读 · 0 评论 -
编程之美:1-n中1的个数
#include #include using namespace std;typedef long long LL;const int DP_Max=20;LL dp[DP_Max][3][2];/** 0 含有1的个数* 1 数的总个数*/LL DP_bit(const string& str){ memset(dp,0,sizeof(dp)原创 2013-08-12 09:15:36 · 559 阅读 · 0 评论