描述:任意给定一个非空的字符串,判断其是否是回文串。回文串是指正向看和反向看均相等的串,如AbcDcbA和cDDc。如果是回文串,则输出1,否则,输出0输入长度不小于1不大于100的字符串输出如果是回文串,输出1如果不是回文串,输出0样例输入abcdefghijkjihgfedcba样例输出1思路:...
分类:
其他好文 时间:
2015-02-20 23:05:16
阅读次数:
247
实现功能:输入一个长度为N的由26个大写字母组成的字符串,输入M条指令:"1 x y",将x到y的字串重组构成一个字典序最小的回文串,如果不能构成回文串输出False,否则True并完成变换;"2 x y"输出从x到y的子串;"3 x y t"将x到y的所有字全部变成chr(t+64)(即对应大写字...
分类:
编程语言 时间:
2015-02-16 00:23:01
阅读次数:
246
1.题目描述:点击打开链接
2.解题思路:本题要求划分回文串,且个数尽可能的少。可以用动态规划解决。先提前判断i~j是否构成回文串,时间复杂度是O(N^2),然后定义d(i)表示0~i-1划分成的回文串的最小个数。则状态转移方程为:
d(i)=min(d(i),d(j)+1)(s[j...i]是回文串)
上式中,d(i)的初始值是i,这样每次判断只需要O(1)的时间,总时间复杂度是O(N^2...
分类:
其他好文 时间:
2015-02-13 14:52:27
阅读次数:
136
给出一个字符串,问是否能向其中插入一个字符使得新的字符串是个回文串由于给出的字符串长度很短,最大只有10.故可以暴力求解要使得插入字符后新字符串成为回文串,那么该字符必须是原字符串中的某一字符故枚举原字符串中的所有字符,并枚举插入的位置,得到一个新串,判断是否是回文串即可.import java.s...
分类:
其他好文 时间:
2015-02-12 19:57:12
阅读次数:
150
题目链接
n2n^2 的预处理i~j是不是回文串然后 n2n^2 的DP11584 Partitioning by PalindromesCan you read upside-down?
We say a sequence of characters is a
palindrome if it is the same written
forwards and backwards. For e...
分类:
其他好文 时间:
2015-02-09 16:06:59
阅读次数:
103
博客已经搬家,请前往http://gqqnbig.me/ 阅读格式良好的文章。
本文将一步一步构造Manacher算法,心急的一定看不懂!请先练习下面的习题。
探索最长回文串性质
题1:已知字符串以center为中心对称,求完整的字符串。
abcd???
|
center
答
abcdcba
|
center
题2:接上题,abcdcba后面还有一些字符,以center2...
分类:
编程语言 时间:
2015-02-07 09:06:42
阅读次数:
247
问题描述: 所谓回文串,就是形如"ababa"这样正序和反序序列完全一样的字符串。最长回文子串问题,即是要找出一个字符串的所有子串中最长的那个回文串。 题目链接:http://hihocoder.com/problemset/problem/1032算法分析:考虑所有长度为奇数的子串,可以这样做.....
分类:
其他好文 时间:
2015-02-06 14:32:02
阅读次数:
167
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 ...
分类:
其他好文 时间:
2015-02-04 07:05:10
阅读次数:
215
原题地址因为要找所有的解,只能搜索+回溯了看来数据量比较小,关于回文串的判断没有使用动态规划也可以过代码: 1 vector > res; 2 3 bool palindromep(string s) { 4 int i = 0; 5 int j = s.length() - 1; 6 ...
分类:
其他好文 时间:
2015-02-01 23:02:53
阅读次数:
169
链接:click here
题意:
给你一串字符串,让你求最少加入几个字符,才能使得这个字符串是个回文串。
思路:
设a[i]是这个字符串,b[i]是这个字符串的逆序串。那么a[i],b[i]的最长公共子序列就是所求的字符串里拥有的最大的回文串。然后用总串长减去最大的回文串长度即为所求。求最长公共子序列的公式为:dp[i][j]=max(dp[i-1] [j],dp[i][j-1]...
分类:
编程语言 时间:
2015-01-31 23:22:48
阅读次数:
461