题目链接:http://poj.org/problem?id=1159 解题报告: 1、LCS的状态转移方程为 if(str[i-1]==str[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); 2、由于
分类:
其他好文 时间:
2016-02-29 22:54:16
阅读次数:
158
改进的代码 (输入字符串为s): int getLongestPalindrome(string s) { string str; str.push_back('&'); for (char item : s) { str.push_back('#'); str.push_back(item); }
分类:
其他好文 时间:
2016-02-26 18:51:19
阅读次数:
177
1 #include "stdafx.h" 2 #include "iostream" 3 4 using namespace std; 5 6 int isechol (const char* str) 7 { 8 int length = strlen(str); 9 for (int i=0;
分类:
其他好文 时间:
2016-02-23 11:10:59
阅读次数:
124
求一个串的最大回文字串。 可以用后缀数组解决。 分别考虑奇数和偶数回文子串的情况,枚举原串S的每个位置i作为中间位置看其能向左右两边同时拓展都哪儿:把原串S反转成S',拼接SaS'(a为一个特殊字符),最远拓展的地方便可以通过LCP(suffix[i],suffix[i'])求得,i'为i对应在S‘
分类:
编程语言 时间:
2016-02-21 11:34:39
阅读次数:
276
所谓回文字符 串就是指正读反读均相同的字符序列,如“席主席”、“记书记”、“aha”和“ahaha”均是回 文,但“ahah”不是回文。 通过栈这个数据结构我们将很容易判断一个字符串是否为回文。 1 // 4. 判断回文字符串 2 char a[9], s[9]; 3 int i, len, mid
分类:
编程语言 时间:
2016-01-27 17:11:31
阅读次数:
172
回文子串 总时间限制:1000ms 内存限制:65536kB描述 给定一个字符串,输出所有长度至少为2的回文子串。 回文子串即从左往右输出和从右往左输出结果是一样的字符串, 比如:abba,cccdeedccc都是回文字符串。输入 一个字符串,由字母或数字组成。长度500以内。输出 输出所有的回文子...
分类:
其他好文 时间:
2015-12-26 11:28:35
阅读次数:
208
假设将 s 分割为两段,[0, i-1], [i, n-1],若 [0, i-1] 为回文字符串,则 ( [i, n-1] 的最小分割次数字符串数 + 1 ) 便是 s 以 i 为分割点最小分割情况的子字符串数。 将 i 从 1 到 n-1 遍历一边,便得到 s 依次以 i 为分割点得最小分割情...
分类:
其他好文 时间:
2015-12-13 07:11:53
阅读次数:
176
package com.wzw.util;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.List;public class HuiWen {public static void main(Stri...
分类:
编程语言 时间:
2015-12-08 14:28:28
阅读次数:
166
#include<stdio.h>
#include<assert.h>
#include<string.h>
intis_pal_str(constchar*p)
{
assert(p);
intlen=strlen(p);
constchar*start=p;
constchar*end=p+len-1;
while(start<end)
{
if(*start==*end)
{
start++;
end--;
}
else
{
return0;
}
}
ret..
分类:
其他好文 时间:
2015-11-13 23:46:04
阅读次数:
405
Given a stringS, find the longest palindromic substring inS. You may assume that the maximum length ofSis 1000, and there exists one unique longest pa...
分类:
其他好文 时间:
2015-11-02 00:00:09
阅读次数:
277