先讲简单一点的:Manacher算法 问题:给出字符串S(限制见后)求出最大回文子串长度 Subtask1 对于10%的数据 |S|<100 Subtask2 对于30%的数据|S|<=5000 Subtask3 对于100%的数据|S|<10000000 Subtask1(10pts):最朴素的暴 ...
分类:
编程语言 时间:
2018-08-28 11:33:29
阅读次数:
192
描述:给一个字符串s,查找它的最长的回文子串。s的长度不超过1000。 ...
分类:
其他好文 时间:
2018-08-23 19:19:25
阅读次数:
185
题意:问你最少加几个字母使所给串变成回文串。 思路:一开始打算将正序和逆序都hash,然后用提取前缀后缀的方法来找,但是RE了,debug失败遂弃之。后来发现可以直接hash,一边hash一边比较。我们只需找出正序hash值和逆序hash相同的最长串就是最长回文子串。 代码: ...
分类:
其他好文 时间:
2018-08-23 15:42:22
阅读次数:
202
很久没有写博客了 啪啪啪 写一些东西吧 最长回文子串怎么求呢 首先我们得知道什么是子串,给你一个长长的串,里面任意连续的一段就是它的子串,当然一个字符也是子串 接着什么是回文串呢 不好描述 但是看例子很容易懂:aba 121 1221 1 然后我们有一种很显然的寻找方法 当然是枚举中点 然后尽可能的 ...
分类:
其他好文 时间:
2018-08-19 15:46:34
阅读次数:
135
题目描述 给你一个由小写拉丁字母组成的字符串 ss 。我们定义 ss 的一个子串的存在值为这个子串在 ss 中出现的次数乘以这个子串的长度。 对于给你的这个字符串 ss ,求所有回文子串中的最大存在值。 输入输出格式 输入格式: 一行,一个由小写拉丁字母(a~z)组成的非空字符串 ss 。 输出格式 ...
原文地址:https://segmentfault.com/a/1190000008484167 博主讲的很好 一:背景 给定一个字符串,求出其最长回文子串。例如: 以上问题的传统思路大概是,遍历每一个字符,以该字符为中心向两边查找。其时间复杂度为$O(n^2)$,效率很差。 1975年,一个叫Ma ...
分类:
编程语言 时间:
2018-08-14 14:34:22
阅读次数:
146
题意:给你一个字符和一个字符串让你求出最长回文子串并且输出来,答案需要根据给出的字符转换一下,就是将给出的字符认定为a,然后依次向后推; 解题思路:manacher模板+一些处理 代码: ...
分类:
其他好文 时间:
2018-08-11 13:00:11
阅读次数:
124
Palindrome 题意: 求给定字符串的最长回文子串。 分析: 首先想到的是求str与反序的str的最大公共子串,考虑abcdba这种情况,所以对于求出的公共子串判断一下是否是回文串即可。还有一种做法是枚举每一个字符为回文串的中间点,求出这个字符的后缀与前缀的最长公共子串就是回文串。对于前缀可以 ...
分类:
其他好文 时间:
2018-08-10 23:06:15
阅读次数:
224
题意:求一个字符串#include<iostream>#include<algorithm>#include<cstring>using namespace std;char s[200005],a[200005];int p[200005];int n;int change(){ int i,j, ...
分类:
其他好文 时间:
2018-08-09 23:06:34
阅读次数:
177
题目大意 给定一个长度为 $n$ 的字符串 $S$,定义函数 $f(S)$ 表示 $S$ 的不同回文子串的个数。对于 $1\le l \le r \le n$,定义 $S[l,r]$ 为字符串 $S$ 的第 $l$ 个字符到第 $r$ 个字符组成的字符串。 求 $\sum_{l= 1}^{n} \s ...
分类:
其他好文 时间:
2018-08-08 14:52:28
阅读次数:
162