![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
fanxingxue
这个作者很懒,什么都没留下…
展开
-
hdu 2087 KMP
题目链接:传送门 代码: #include<cstdio> #include<cstring> #include<iostream> using namespace std; int next1[1000]; int ans; void cal_next(char ptr[]) { int len=strlen(ptr); int k=-1; ...原创 2019-03-28 17:15:14 · 115 阅读 · 0 评论 -
AC自动机 hdu 2222
题目:链接 代码: #include<stdio.h> #include<iostream> #include<algorithm> #include<string.h> #include<queue> #define maxn 1000010 #define MAX_Tot 500010 using namespace std;...原创 2019-04-21 18:30:52 · 108 阅读 · 0 评论 -
POJ 1056 IMMEDIATE DECODABILITY
题目链接: IMMEDIATE DECODABILITY 题目大意:与hdu1071这一题类似,均是找某一字符串是否是另一字符串的前缀,不同的是,这里的输入输出要注意。 代码如下: 继续套用上一题的模板 #include <map> #include <set> #include <queue> #include <cmath> #includ...原创 2019-04-20 09:06:53 · 103 阅读 · 0 评论 -
Tire(字典树)算法题目 hdu 1671
题目链接:Phone List 题目大意:每组数据给n个号码,假设某一个电话号码恰好是另一个电话号码的前缀,那么这组案例是失败的,输出No,因为它不能保证每个电话都能拨打出去。题目本质就是寻找一个字符串是否恰好是另一字符串的前缀,若是,则输出NO 代码如下: #include <map> #include <set> #include <queue> ...原创 2019-04-19 17:50:32 · 215 阅读 · 0 评论 -
马拉车算法题目poj 3974
题目:传送门 套用的马拉车模板 代码: #include <iostream> #include <cstdio> #include <cstring> using namespace std; int p[3000005]; char str[3000005],s[3000005]; int n,mx,id,len; void init() { ...原创 2019-04-15 22:10:12 · 148 阅读 · 0 评论 -
马拉车算法思想
参考链接:传送门1 and传送门2 马拉车算法是用来查找一个字符串的最长回文串的线性方法。正读与反读都一样的字符串称为回文字符串。比如 “google” 的最长回文子串为 “goog”。这个算法的总框架是,遍历所有的中心点,寻找每个中心点对应的最长回文子串,然后找到所有中心点对应的最长回文子串。 由于回文串的长度可以是奇数也可以是偶数。比如:non,与noon。故马拉车算法的第一步是对字符串...原创 2019-04-15 22:09:37 · 240 阅读 · 0 评论 -
字符串: 最大(小)表示法模板
循环字符串最小表示法:对于一个首位相连的字符串,寻找一个位置,从这个位置向后形成一个新的字符串,需要使这个字符串字典序最小。 最小表示法的算法思路是维护两个指针i,j。 i指向表示最小的位置,j作为比较指针 令i=0;j=1;k=0;表示从i开始k长度和从j开始k长度的字符串相同(i,j表示当前判断的位置) 最小表示法模板: int Get_min(char T[]) { in...原创 2019-04-14 17:28:46 · 175 阅读 · 0 评论