![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
KMP
文章平均质量分 66
会打架的程序员不是好客服
略略略~~~
展开
-
KMP算法详解
哇。。KMP学了后就一两个月没碰过。。结果今天看就不会了~~~~这里是我看到的最好的对KMP算法的解析。 KMP算法详解转载 2017-10-23 17:03:17 · 125 阅读 · 0 评论 -
AC自动机算法详解
博客转自:AC自动机算法AC自动机简介:首先简要介绍一下AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有字典树Trie和KMP模式匹配算法的基础知识。KMP算法是单模式串的字符匹配算法,AC自动机是多模式串原创 2017-11-13 21:41:48 · 212 阅读 · 0 评论 -
HDU - 2896 病毒侵袭 (AC自动机)
Problem Description:当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻。。。。在这样的时刻,人们却异常兴奋——我们能在有生之年看到500年一遇的世界奇观,那是多么幸福的事儿啊~~ 但网路上总有那么些网站,开始借着民众的好奇心,打着介绍日食的旗号,大肆传播病毒。小t不幸成为受害者之一。小t如此生气,他决定要把世界上所有带病毒的网站都找出来。当然,谁都知道这是不可能的原创 2017-11-14 18:14:19 · 261 阅读 · 0 评论 -
HDU - 2609 (最小表示法)
题目链接:HDU - 2609大致题意:这题就是给你n个字符串,然后如果是同构的字符串(如 :1100和0110和0011就是同样的字符串)所以这题的话,就是用最小表示法求出所有字符串的最小表示法,再暴力一下,求出不同的最小表示法的个数。#include<bits/stdc++.h> using namespace std; const int MAX_N =1e4+9; string vec[MA原创 2017-11-02 19:59:28 · 237 阅读 · 0 评论 -
HDU - 3374 (最大表示法与最小表示法+求循环节 )
题目链接: HUD-3374 题目大意:给你一个字符串,问这个字符串经过移动后的字典序最小的字符串的首字符位置和字典序最大的字符串的首字符的位置,和能出现多少次最小字典序的字符串和最大字典序的字符串解题思路:能出现多少次,就要看循环节有多少个了 !! 剩下的就是最小表示法和最大表示法的裸题了!! 最大表示法和最小表示法详解:最大表示法和最小表示法 对了!还有就是char数组千万不要用cin原创 2017-11-01 23:35:13 · 245 阅读 · 0 评论 -
HDU - 4513 (manacher算法变形)
题目链接:HDU - 4513题意: 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] … h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形: 1、挑出的人保持原队形的相对顺序不变,且必须都是在原队形中连续的; 2、左右对称,假设有m个人形成新的队形,则第1个人和第m个人身原创 2017-11-10 15:37:33 · 379 阅读 · 0 评论 -
最大表示法与最小表示法
最大表示法最小表示法:首先,什么是最大表示法与最小表示法呢?他们又是用来解决什么问题的呢?来看一个例子: 给你一个字符串 s = “SKYLONG“;然后我们将这个字符串一步步地往左移: SKYLONG 1 KYLONGS 2 YLONGSK 3 LONGSKY 4 ONGSKYL 5 NGSKYLO 6 GSKYLON 7 现在问你,在1-7这七个字符串中,字典序最原创 2017-11-01 20:40:17 · 644 阅读 · 0 评论 -
拓展KMP算法
拓展kmp算法 刚开始看的时候有点看不懂,主要是拓展KMP这里的next数组和KMP算法中的next数组是不一样的 这里是我的代码模板:#include<bits/stdc++.h> using namespace std; const int MAX_N = 1e5+9; // 字符串长度最大值 int nxt[MAX_N] , ext[MAX_N]; char t[27],tran[27],原创 2017-11-01 19:21:01 · 185 阅读 · 0 评论 -
Manacher(马拉车)算法详解
博客摘自:Manager算法总结1.Manacher算法原理与实现下面介绍Manacher算法的原理与步骤。 首先,Manacher算法提供了一种巧妙地办法,将长度为奇数的回文串和长度为偶数的回文串一起考虑,具体做法是,在原字符串的每个相邻两个字符中间插入一个分隔符,同时在首尾也要添加一个分隔符,分隔符的要求是不在原串中出现,一般情况下可以用#号。下面举一个例子: (1)Len数组简介与性质Ma原创 2017-11-09 19:54:52 · 656 阅读 · 0 评论 -
KMP中的一些技巧(°ο°)~ @
1.最小循环节 :以下是我看的描述最小循环节能让我看懂的一篇博客~~~ 先简单介绍一下KMP算法利用 nxt 数组求最小循环节的原理: 假设图中的黑色是原来的字符串,现在要求最小循环节,对于nxt[len]来说指的是图中蓝色和黄色的长度,而且蓝色和黄色是相等的, 那么绿色和紫色也是相等的,,对比原串可知紫色跟粉色是相同的子串,那么绿色跟粉色相同,然后对比蓝色跟黄色可原创 2017-08-23 13:22:11 · 207 阅读 · 0 评论