ACM-字符串处理
yew1eb
https://github.com/yew1eb
展开
-
poj3349-Snowflake Snow Snowflakes,字符串哈希
点击打开链接#include #include #include const int N = 100005;const int M = 10;const int mod = 100003;int head[N], num, a[M], snow[N][M];struct node{ int pos, next;}e[N];void hash(in原创 2014-07-10 09:41:13 · 1761 阅读 · 0 评论 -
字典树题目总结
Trie 就好比维护了一个字典,可以在这个字典里插入删除字符串,也可以查询一个字符串是否在字典中。Trie的插入查找删除复杂度都是O(m)的,其中m为待插入串的长度。Trie的原理是利用字符串集合中字符串的公共前缀来降低时间开销以达到提高效率的目的。HDU1251-统计难题:最简单的字典树题,对于字典中的字符串插入后依次回答询问子串个数即可。解题报告原创 2014-02-17 20:19:50 · 3751 阅读 · 1 评论 -
poj 2513 Colored Sticks,无向欧拉图的判定,Trie,hash
大致题意:给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的。原创 2014-08-19 10:58:17 · 1501 阅读 · 0 评论 -
后缀数组习题集
转自http://hi.baidu.com/zfy0701/blog/item/f2278a0928991dca3bc763a0.html字符串算法通常是非常优雅的,尤其是后缀数组啊,前、后缀自动机啊,Trie,KMP,BM,BOM,Shift - Or,RK ......我准备写写POJ上一些字符串问题的文章,第一篇是我认为在竞赛中字符串问题用处最大的一个工具:后缀数组。先帖点后缀数原创 2014-07-21 15:10:37 · 3409 阅读 · 0 评论 -
poj 2222 Keywords Search,AC自动机模板题
题意:给定N(N 个长度不大于50的模式串,再给定一个长度为L(L 6)目标串,求目标串出现了多少个模式串。原创 2014-08-20 20:14:46 · 1860 阅读 · 0 评论 -
LA 4670 Dominating Patterns,AC自动机
题意:有n个字符串和一个wen原创 2014-08-20 17:57:18 · 1464 阅读 · 0 评论 -
AC自动机习题集
@notonlysuccesshttp://www.cs.uku.fi/~kilpelai/BSA05/lectures/slides04.pdfhttp://www.docin.com/p-46845432.html(上边原文地址如果无法访问的话可以访问这一个~)这是我找到的AC自动机最好的资料感觉网上其他一些资料都没能阐述的很好,只是草草的介绍一下fail指针,画几张草图而已,原创 2014-07-21 10:03:07 · 3451 阅读 · 1 评论 -
poj3461 Oulipo,Kmp
计算串x在y中重复了多少次,可重叠。/************************************************ * Author: yew1eb * Created Time: 2014/3/6 16:30:33 * File Name: poj3461.cpp ******************************************原创 2014-03-06 16:42:23 · 1729 阅读 · 0 评论 -
poj 2774 Long Long Message,后缀数组,求最长公共子串 hdu1403
题意:给出两个字符串,求最长公共子串的长度。题解:首先将两个字符串连在一起,并在中间加一个特殊字符(字串中不存在的)分割,然后两个串的最长公共字串就变成了所有后缀的最长公共前缀。这时就要用到height数组,因为任意两个后缀的公共前缀必定是某些height值中的最小值,而这个值如果最大则一定是height中的最大值。在此题中还要注意height最大一定要在两个值所代表的后缀分属不同的字原创 2014-08-24 09:55:35 · 1957 阅读 · 0 评论 -
UVA - 11468 Substring,AC自动机 + DP
题意:给出一些字符和各自对应的选择概率,原创 2014-08-21 17:20:28 · 1442 阅读 · 0 评论 -
hdu1711 Number Sequence,KMP
题意:给你两个长度分别为n(1 )和m(1 )的序列a[]和b[],求b[]序列在a[]序列中出现的首位置。如果没有请输出-1。这题用裸KMP算法O(N)水过~KMP算法的两个函数:Code(hdu1711):#include #include const int maxn = 1000005;const int maxm = 10005;int原创 2013-08-23 17:01:52 · 1786 阅读 · 0 评论 -
hdu1358 period ,Kmp
计算KMP的失配函数:/************************************************ * Author: yew1eb * Created Time: 2014/3/6 15:31:36 * File Name: hdu1358.cpp *************************************************/#i原创 2014-03-06 16:17:20 · 1801 阅读 · 0 评论 -
字符串理论
http://www.cs.uku.fi/~kilpelai/BSA05/lectures/slides04.pdfhttp://www.docin.com/p-46845432.html(上边原文地址如果无法访问的话可以访问这一个~)这是我找到的AC自动机最好的资料感觉网上其他一些资料都没能阐述的很好,只是草草的介绍一下fail指针,画几张草图而已,贴一下不是很搞笑甚至还带有错误的模原创 2014-03-06 17:00:33 · 1869 阅读 · 0 评论 -
hdu1251 统计难题 (Trie)
题意:给你一些单词,要你统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀)。裸Tire~,上模板:Code:#include #include using namespace std;const int maxn = 500000;const int maxw = 20;struct node { bool f; //是否是单词 int ch原创 2013-08-23 20:57:22 · 2170 阅读 · 0 评论