http://acm.hdu.edu.cn/showproblem.php?pid=3294Girls' researchTime Limit:1000MSMemory Limit:32768KB64bit IO Format:%I64d & %I64uSubmitStatusPracticeHDU...
分类:
其他好文 时间:
2015-10-03 18:14:25
阅读次数:
224
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3294给出一个字符串和加密的字符规律例如 c abcbac代表把串中的c改成a,d改成b... b改成z,a改成y...即上串是yzazy,然后求出它的最长回文子串, 并记录子串的开始下标和结束下标就行了...
分类:
其他好文 时间:
2015-10-02 11:20:08
阅读次数:
143
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4513题意比最长回文串就多了一个前面的人要比后面的人低这个条件,所以在p[i]++的时候判断一下s[i-p[i]]#include#includeusing namespace std;const int...
分类:
其他好文 时间:
2015-10-01 21:46:13
阅读次数:
239
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3613题意就是给你一个串s 然后求把s分成两部分之后的价值总和是多少,分开的串 如果是回文那么价值就是每个字母的价值之和,如果不是那么价值就是0;例如:12 3456789 10 11 12 13 14 ...
分类:
其他好文 时间:
2015-10-01 17:54:27
阅读次数:
239
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068题意很清楚:就是求一个串s的子串中最长回文串的长度;这类题用到了manacher算法manacher算法(复制大神的解释):定义数组p[i]表示以i为中心的(包含i这个字符)回文串半径长将字符串s从...
分类:
编程语言 时间:
2015-09-30 20:59:16
阅读次数:
184
在上篇《manacher算法处理最长的回文子串(一)》解释了manacher算法的原理,接着给该算法,该程序在leetcode的最长回文子串中通过。首先manacher算法维护3个变量。一个名为radius[i]的数组,表示以i为中心轴承的回文子串的半径,如abcdcba中,字符d的下标为4,...
分类:
编程语言 时间:
2015-09-22 16:16:33
阅读次数:
216
题意:
定义一个串反对称 为 将其01取反之后,翻转之后与原串相同;
给出一个长度为n的01串,求这个串中有多少子串为反对称串;
n
题解:
马拉车算法。。
然而作为一个蒟蒻我还是滚回去复习了一遍manacher啥的;
首先这题有个性质:反对称串一定是偶数长的串;
所以我们其实跑的只是偶数串的算法,也就是可以不加#分隔的姿势;
(你不觉得不加#####十分优雅吗?)
然...
分类:
其他好文 时间:
2015-09-22 08:54:48
阅读次数:
157
这题说的找出一个数组串 3等分 第一个部分和第3个部分一样,第二个部分和第一个部分回文,那么计算出这些字符串问这样的字符串最长为多少,我们先使用manacher 计算出每个位置以他为对称轴左边端点的最长回文半径 加入第i个位置 回文半径为 d[i],那么他能影响的范围为d[i]-i至i 如果他是那个...
分类:
其他好文 时间:
2015-09-09 19:03:34
阅读次数:
155
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5340看看是否可以将一个字符串拆成三个回文字串。首先可以肯定的是,如果字符串长度3的情况先用manacher处理一下字符串得到pre数组。数组的含义是以当前位置为中心的回文串的半径。可以先分别从头到尾记下...
分类:
其他好文 时间:
2015-09-07 19:24:58
阅读次数:
229
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068题意:求一个字符串的最长回文子串思路:枚举子串的两个端点,根据回文串的定义来判断其是否是回文串并更新答案,复杂度O(N3)。枚举回文串的对称轴i,以及回文半径r,由i和r可确定一个子串,然后暴力判断...
分类:
编程语言 时间:
2015-09-03 20:29:56
阅读次数:
233