给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 示例 2: 这条题的思路主要是从一个或两个字符开始往两边遍历,直到遍历出最长的回文字符串为止。 问题就出来这个从一个字符还是两个字符开始了。。开始弄了好几个条件,结果递归算一下发现靠控制条件要控到十万 ...
分类:
其他好文 时间:
2018-07-15 22:16:03
阅读次数:
159
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 示例 2: 查看资料找到了manacher算法 这个算法是以每一个字符为中心, 向两边发散,同时,用一个数组p来记录以每一个字符为中心的回文串的一半的长度. 先看一下该算法的核心. 确定以第i个字符为 ...
分类:
其他好文 时间:
2018-07-08 19:05:25
阅读次数:
177
//Manacher //可求最长回文子串长度 #include #include #include #include #include #include #define ma 11000005 using namespace std; int n,ans,length[mamxr) { mxr=l... ...
分类:
编程语言 时间:
2018-07-08 18:04:22
阅读次数:
183
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=3068 【算法】 Manacher算法求最长回文子串 【代码】 ...
分类:
其他好文 时间:
2018-06-30 22:22:26
阅读次数:
129
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 示例 2: ...
分类:
其他好文 时间:
2018-06-30 18:57:34
阅读次数:
134
题目描述 顺序和逆序读起来完全一样的串叫做回文串。比如 是回文串,而 不是( 的顺序为 ,逆序为 ,不相同)。 输入长度为 n 的串 S ,求 S 的最长双回文子串 T ,即可将 T 分为两部分 X , Y ,( |X|,|Y|≥1 )且 X 和 Y都是回文串。 输入输出格式 输入格式: 一行由小写 ...
分类:
其他好文 时间:
2018-06-30 11:07:21
阅读次数:
179
题意翻译 给定一个长度为n的小写字母串。问你有多少对相交的回文子 串(包含也算相交) 。 输入格式 第一行是字符串长度n(1题解 一道比较不错的题目。 解法和 "P1872 回文串计数(回文树)" 差不多。 我们就是先统计一遍不会相交的情况,在统计一遍所有情况。 把所有情况减去不会相交的情况就可以了 ...
分类:
其他好文 时间:
2018-06-30 11:02:01
阅读次数:
141
题目描述 给你一个由小写拉丁字母组成的字符串 ss 。我们定义 ss 的一个子串的存在值为这个子串在 ss 中出现的次数乘以这个子串的长度。 对于给你的这个字符串 ss ,求所有回文子串中的最大存在值。 输入输出格式 输入格式: 一行,一个由小写拉丁字母(a~z)组成的非空字符串 ss 。 输出格式 ...
题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba"也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 解题思路: 利用动态规划来解决问题,从字符串尾开始遍历,核心 ...
分类:
其他好文 时间:
2018-06-21 17:40:35
阅读次数:
246