
算法
fdcumt
沉寂一颗躁动的心不止需要勇气更需要毅力
展开
-
kmp算法
kmp算法精髓在于next数组(我这里是nextval),而next数组的构造精髓在于模式串的自身匹配。 构造next数组: 首先 置next[0]为-1,假设对于模式串位置为i的字符匹配失败,对该字符前的字符串进行前缀和后缀的最大匹配,如果匹配失败字符和匹配的最大前缀(前缀和后缀匹配后得出)后面的字符相等, nextval[i]=nextval[j];//将模式串移到nextval[j]位置原创 2013-07-06 23:02:54 · 570 阅读 · 0 评论 -
详解volatile在C++中的作用
volatile的介绍 volatile类似于大家所熟知的const也是一个类型修饰符。volatile是给编译器的指示来说明对它所修饰的对象不应该执行优化。volatile的作用就是用来进行多线程编程。在单线程中那就是只能起到限制编译器优化的作用。所以单线程的童鞋们就不用浪费精力看下面的了。 没有volatile的结果 如果没有volatile,你将无法在多线程中并转载 2013-08-12 10:47:47 · 601 阅读 · 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 · 586 阅读 · 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 · 575 阅读 · 0 评论