*String
WANSNIM
NULL.
展开
-
KMP模板
void calnext()//计算next数组 { int i=0,cnt=-1; next[i]=cnt; while(i<len) { if(cnt==-1 || str[i]==str[cnt]) i++,cnt++,next[i]=cnt; else cnt=next[cnt]; } return; }bool原创 2015-08-01 10:33:13 · 403 阅读 · 0 评论 -
CDOJ 1092 韩爷的梦 (字符串Double Hash)
Repost From : http://www.cnblogs.com/jiu0821/p/4554352.html思路:这道题目难点在于时间与内存限制很苛刻,一般的方法不能奏效,这里只能采用hash。即把每个字符串hash为一个数字,对数字进行比对,题目就ac了。还有个问题就是,hash函数的选取。我第一次选的hash函数就产生了冲突,这个可以多次选择进行测试,也可以直接采用更复杂的hash函数原创 2016-04-15 15:28:22 · 847 阅读 · 0 评论 -
AC自动机入门题(HDU 2222 + HDU 2896)
AC自动机学习资料:http://blog.csdn.net/niushuai666/article/details/7002823AC自动机模板:http://www.cnblogs.com/kuangbin/p/3164106.html我这两个入门题完全是用的Kuangbin大神的板子敲的…..http://acm.hdu.edu.cn/showproblem.php?pid=2896#incl原创 2016-05-26 15:04:55 · 394 阅读 · 0 评论 -
后缀数组的应用
求两个子串的最长公共前缀HDU4691:http://acm.hdu.edu.cn/showproblem.php?pid=4691#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std;const int MAXN = 1e5 + 100; typedef l原创 2016-05-31 14:31:01 · 519 阅读 · 0 评论