题目:http://blog.csdn.net/winddreams/article/details/44218961
求出每个点为中心的最长字符串,判断该串是不是从开头的回文串。
#include
#include
#include
using namespace std ;
int p[12000000] , dp[6000000];
char s[12000000]...
分类:
其他好文 时间:
2015-03-12 17:09:33
阅读次数:
103
回文串指给定的字符串,正着读和反着读都是一样的。如ADA,反过来还是ADA即为回文串。最长回文子串指查找一给定字符串中最长的回文串。
通常有以下4种解法。主要考虑的是时间复杂度。
1:穷举法
穷举所有的子串,找出是回文串的子串,统计出最长的一个。
求每一个子串时间复杂度O(N^2),判断子串是不是回文O(N),两者是相乘关系,所以时间复杂度为O(N^3)。
代码如下:
#includ...
分类:
其他好文 时间:
2015-03-10 21:28:00
阅读次数:
162
poj 3280
题意:
给出n,m, 表示长度为m的字符串里只含n种字母, 给出字符串, 再给出每种字母增加和删除的代价c1,c2, 求把这个字符串变成回文串的最小代价。限制:
1 <= n <= 26; 1 <= m <= 2000; 0 <= c1,c2 <= 10000思路:
if(str[l]!=str[r]) dp[l][r]=min(dp[l+1][r]+cost[l],dp[...
分类:
其他好文 时间:
2015-03-10 10:28:38
阅读次数:
164
http://www.tuicool.com/articles/EJraqu问题描述回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。交换的定义是:交换两个相邻的字符例如ma...
分类:
其他好文 时间:
2015-03-09 20:40:30
阅读次数:
188
题目连接http://hihocoder.com/problemset/problem/1032题目分析类似于KMP的思想,利用已经匹配的信息计算未匹配的信息。
基本原理就是:我们将f[i]定义为以i为中心的最长回文串长度。那么如果有f[5]=7,f[4]=3, 那么我们可以得到f[6] >=3.以此来减少比较次数。当然还有一些细节要处理。比如回文串长度的奇偶性。代码这个是我自己写的版本,不是很精...
分类:
其他好文 时间:
2015-03-07 14:10:36
阅读次数:
123
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1318题意分析:输入每行包含一个字符串,判断此串是否为回文串或镜像串。 表面上看这道题有些复杂,如果能熟练运用字符数组的话,代码也颇为简洁。。/*PalindromesTime Limit: 2000/1...
分类:
其他好文 时间:
2015-03-06 12:36:01
阅读次数:
96
题目大意:给出一个字符串,将它划分成尽量少的子串,使得每个子串都是回文串。
首先预处理出每个子串是否是回文串,b[i][j]=1表示子串a[i...j]是回文串,b[i][j]=0表示子串a[i...j]不是回文串。
用d[i]表示前i个字符的最少划分数。枚举最后一个划分是在哪从而完成递推。
状态转移方程:d[i]=min { d[u]+1 }(b[u+1][i]==1)
...
分类:
其他好文 时间:
2015-03-06 09:47:25
阅读次数:
125
题目:
#1032 : 最长回文子串
时间限制:1000ms
单点时限:1000ms
内存限制:64MB
描述
小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。
这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,...
分类:
其他好文 时间:
2015-03-04 17:08:35
阅读次数:
108
感谢:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824/O(n)求给定字符串的以每个位置为中心的回文串长度。中心思想:每次计算位置i的答案时,利用已经算出的1~i-1位置的答案。 1 #include 2 #include 3 #.....
分类:
其他好文 时间:
2015-03-03 18:20:13
阅读次数:
166
题目Given a string s, partition s such that every substring of the partition is a palindrome.Return the minimum cuts needed for a palindrome partitioning of s.For example, given s = “aab”,
Return 1 sinc...
分类:
其他好文 时间:
2015-03-02 23:58:14
阅读次数:
368