这题目上学期就看了,不过最近发现可以用马拉车来解,而且还是基本算法。 稍微对回文串成立条件变形一下即可。 1 /* 4513 */ 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #i...
分类:
其他好文 时间:
2015-10-02 17:15:39
阅读次数:
147
最长回文子序列可以用求解原串s和反转串rv的LCS来得到,因为要求回文串分奇偶,dp[i][j]保存长度,要求字典序最小,dp[i][j]应该表示回文串的端点,所以边界为单个字符,即i+j=len+1。这题最麻烦的地方在于字典序,我是写了个比较函数,有点暴力(常数大)。也可以反着定义,这时结点就要保...
分类:
其他好文 时间:
2015-10-01 23:00:03
阅读次数:
270
题目链接: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=3068最长回文Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): ...
分类:
其他好文 时间:
2015-10-01 20:26:26
阅读次数:
159
题目链接: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
价值最小回文字符串 题目大意:给你一个字符串,可以删除可以添加,并且每一次对一个字母的操作都带一个权,问你转成回文串最优操作数。 如果这一题我这样告诉你,你毫无疑问知道这一题是LD(Levenshtien Distance 编辑距离),但是上...
分类:
其他好文 时间:
2015-09-23 19:07:16
阅读次数:
148
求0->i内所有的本质不同的回文串的个数, 在 if(!next[cur][ch]) 成立,那么说明出现本质不同的字符串求每一个本质不同的回文串出现的个数,每个结点都是本质不同的字符串, cnt记录的就是了求s内回文串的个数,所有的cnt加起来就是了。求以i结尾的回文串的个数。 num函数就是了。 ...
分类:
其他好文 时间:
2015-09-14 19:32:34
阅读次数:
190
Given a singly linked list, determine if it is a palindrome.Follow up:Could you do it in O(n) time and O(1) space?根据回文串的特点,我们需要比较对应位置的值是否相等,那么我们首先需要找到...
分类:
其他好文 时间:
2015-09-08 12:22:57
阅读次数:
252
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5340看看是否可以将一个字符串拆成三个回文字串。首先可以肯定的是,如果字符串长度3的情况先用manacher处理一下字符串得到pre数组。数组的含义是以当前位置为中心的回文串的半径。可以先分别从头到尾记下...
分类:
其他好文 时间:
2015-09-07 19:24:58
阅读次数:
229