Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example,
"A man, a plan, a canal: Panama" is a palindrome.
"race a car" is not a palindr...
分类:
其他好文 时间:
2015-06-11 14:38:52
阅读次数:
117
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1033
题意:至少添加几个字符,能使得给定的串变为回文串。
解法:枚举起点终点,进行DP;
代码:#include
#include
#include
#include
#include <compl...
分类:
其他好文 时间:
2015-06-10 17:27:23
阅读次数:
112
1、中心扩展中心扩展就是把给定的字符串的每一个字母当做中心,向两边扩展,这样来找最长的子回文串。算法复杂度为O(N^2)。但是要考虑两种情况:1、像aba,这样长度为奇数。2、想abba,这样长度为偶数。代码如下:string findLongestPalindrome(string &s){ .....
分类:
其他好文 时间:
2015-06-10 00:55:24
阅读次数:
159
CodeForces 486C Palindrome Transformation(贪心)
CodeForces 486C
题目大意:
将一个不是回文的字符串通过最少的操作使之成为回文串。
操作,左移1位,右移1位,字母+1,字母-1,这些操作到达边界时是有循环的效果的,例如位置到达最后一位往右移动,那么就到达了第一位。
解题思路:
首先需要统计一下有多少个位置是不匹...
分类:
其他好文 时间:
2015-06-05 12:29:47
阅读次数:
192
// uva 11584 Partitioning by Palindromes 线性dp
//
// 题目意思是将一个字符串划分成尽量少的回文串
//
// f[i]表示前i个字符能化成最少的回文串的数目
//
// f[i] = min(f[i],f[j-1] + 1(j到i是回文串))
//
// 这道题还是挺简单的,继续练
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-06-03 23:37:32
阅读次数:
325
有关回文树有很多很好的教程,比如poursoul的blog。无限Orz 毛子提出神算法。Orz iwtwiioi大爷的教程,popoqqq大爷的纠正在此加深一下对于PAM的理论认识。首先自动机要能【接受】所有的【满足条件的串】,这个PAM是肯定满足的,因为PAM的【每一个节点都是回文串】,而对于所有...
分类:
其他好文 时间:
2015-06-03 23:08:25
阅读次数:
257
题目传送门 1 /* 2 字符串处理:回文串是串联的,一个一个判断 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 const int MAXN = 1e...
分类:
其他好文 时间:
2015-05-27 20:35:41
阅读次数:
190
算法的第一步就是在每个字符的左右都加上一个#,这样有什么效果呢。
比如aba初始化之后为#a#b#a#,字符串长度为7是奇数。
比如1221初始化之后为#1#2#2#1#,字符串长度为9是奇数。
为什么我们要将其转换成奇数呢,因为算法求取回文串长度的时候,需要有一个中心节点,之后分别向左右搜索,所以需要将回文串豆转换为奇数长度。
之后我们需要将str[0]赋值为一个字符,可以赋值为$,...
分类:
编程语言 时间:
2015-05-25 14:41:02
阅读次数:
146
题目链接:http://codeforces.com/problemset/problem/245/H题目大意:给你一个字符串s,对于每次查询,输入为一个数对(i,j),输出s[i..j]之间回文串的个数。容斥原理: dp[i][j] = dp[i+1][j]+dp[i][j-1]-dp[i+1][...
分类:
其他好文 时间:
2015-05-25 07:25:36
阅读次数:
125
题目要求: 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。例如,给出字符串 "abcdzdcab",它的最长回文子串为 "cdzdc"。 解答: 这个题目的一个简单的解法就是对字符串中的每一个字符,同时向其两边延展,以找到最长回...
分类:
其他好文 时间:
2015-05-23 15:33:14
阅读次数:
160