Algorithm Task 给定一个文本串 $S$ 和一个模式串 $T$,求 $T$ 在 $S$ 中出现的所有位置。 Limitations 要求时空复杂度均为线性。 Solution 回头重新学一遍~~看毛片~~ KMP 算法。 设 $X$ 是一个字符串,则以下表述中,$X_u$ 代表 $X$ ...
分类:
其他好文 时间:
2019-09-04 09:21:49
阅读次数:
72
题意略。 思路: 这算是个铜牌题吧。思路是kmp+栈(类似于单调栈的那种想法),每个字符串进栈说明当前的栈是空栈,或者说该字符串在与栈顶元素比较时, 碰到了之前的不是它字串的字符串。 我们从前往后遍历这些字符串, 如果栈顶字符串是它的字串,那么我就弹出栈顶元素,继续比较。 如果栈顶字符串不是它的字符 ...
分类:
其他好文 时间:
2019-09-03 22:30:12
阅读次数:
98
2019暑假集训7.15-8.23 今年大一下学期整个暑假基本上是了解学习了dp、动态规划、线段树、树状数组、贪心、搜索、背包问题、记忆化搜索、欧拉回路、最大流、最短路、最小生成树、二叉搜索树、kmp、数论、、马拉车等,感觉每天在敲代码,可是整体看下来学的东西很少,但是谢谢题目又是好久才能写出一道题 ...
分类:
其他好文 时间:
2019-09-02 00:15:30
阅读次数:
153
题目大意 给你一个字符串,求它的一个子串使得这个子串即使前缀又是后缀又出现在不是前缀且不是后缀的地方 分析 扩展kmp就是定义z[i]表示i~n的子串与整个串的最长公共前缀的长度是z[i] 所以这个题就是找到一个位置使得z[i]=n-i+1 这样保证了是前缀和后缀 然后再判断之前是否有一个z[j]= ...
分类:
其他好文 时间:
2019-09-01 11:04:06
阅读次数:
94
KMP算法是一种高效的字符串匹配算法。 KMP算法的特点是给定一个主串,给定一个匹配串,问匹配串在主串中出现的次数,匹配串在主串中出现的位置等。 首先我们先看一种暴力的方法——按位对比,若匹配失败从头再来。 我们用两个指针,一个指针i指在主串,一个指针j指在匹配串, 如果s1[i+1]!=s2[j+ ...
分类:
编程语言 时间:
2019-08-29 20:04:57
阅读次数:
115
https://www.jianshu.com/p/d4cf13b32111 https://blog.csdn.net/v_JULY_v/article/details/7041827 ...
分类:
编程语言 时间:
2019-08-29 15:33:00
阅读次数:
72
#include #include using namespace std; const int maxn = 1000000+7; char s[maxn], p[maxn]; int net[maxn]; int lens, lenp; void getnext() { net[0] = -1;... ...
分类:
其他好文 时间:
2019-08-28 10:49:22
阅读次数:
59
第一篇 基本概念 01 什么是数据结构.md 02 什么是算法.md 03 应用实例 最大子列和问题.md 第二篇 线性结构 01 线性表及其实现.md 02 堆栈.md 03 队列.md 04 应用实例 多项式加法运算.md 05 小白专场 多项式乘法与加法运算 c语言实现.md 05 小白专场 ...
分类:
编程语言 时间:
2019-08-25 12:00:45
阅读次数:
92
比赛那会过了两道题,哇贼激动,然后后面就没有然后了。。。 1003我想到用$kmp$,于是不会$kmp$的我开始找板子套,结果$TLE$,就觉得应该是优化不行,优化后AC妥妥$TLE$,就放弃了。 钓鱼也没调上来,找规律的位运算也没整出来,赛后看题解发现我们队过的三个题都是签到题,都不带解释下的,钓 ...
分类:
其他好文 时间:
2019-08-24 22:59:35
阅读次数:
137
AC自动机 AC自动机 概念 : 用于 多模式串与文本串匹配 ,也是字符串匹配算法之一。 方法就是把模板建成一个大的状态转移图,相当于 Trie树 + KMP 。 理解 : 匹配方法: 用模板串建立Trie树,给每个节点加上失配边也就是 fail标记 (用于失配后的转移,类似KMP中的next[ ] ...
分类:
其他好文 时间:
2019-08-23 22:22:56
阅读次数:
91